首页 > 编程语言 > 详细

python字符编码与数据类型

时间:2020-03-23 23:02:48      阅读:81      评论:0      收藏:0      [点我收藏+]

1变量

1.1 变量类型

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。

基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。

因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。

1.2 变量赋值

Python中的变量赋值不需要类型声明。

每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。

每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

等号(=)用来给变量赋值。

等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:

#!/bin/evn python
#-*- coding:utf-8 -*-
#Author:Anliu

name = ‘anliu jiang‘
age = 18
salary = 0.001
print(name,age,salary)

1.3 多个变量赋值

Python允许你同时为多个变量赋值。例如:

#!/bin/evn python
#-*- coding:utf-8 -*-
#Author:Anliu
a = b = c = 1
print(a)
print(b)
print(c)
print(a,b,c)

以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。

您也可以为多个对象指定多个变量。例如:

#!/bin/evn python
#-*- coding:utf-8 -*-
#Author:Anliu
a,b,c,= 1,3.1415,"john"
print(a,b,c)

以上实例,两个整型对象 1 和 2 分别分配给变量 a 和 b,字符串对象 "john" 分配给变量 c。

1.4 变量的赋值

思考:一下程序输出结果是什么?

#!/bin/evn python
#-*- coding:utf-8 -*-
#Author:Anliu
name1 = "anttech"
name2 = name1
print(name1,name2)
name2 = "thinking"
print(name1,name2)

1.5 定义变量的规则

变量名只能是字母,数字或下划线的组合

变量名的第一个字符不能是数字

关键字不能声明为变量:

技术分享图片

#!/bin/evn python
#-*- coding:utf-8 -*-
#Author:Anliu

tingtingceshi =
DMDB_OF_dir =
cmdb_of_dir=
CmdbOfDir =

注意:在python中是没有常量的概念。在C中const定义常量。

在Python中表示常量用大写的变量名表示(只是人为规定)

2 字符编码

2.1 python程序中的字符编码

python解释器在加载.py文件中的代码时,会对内容进行编码(默认ascill)

在python2以及python3.6下执行一下代码:

[root@bogon test]# cat hw.py

#/usr/bin/python2
print ("您好,世界!!!")
[root@bogon test]# python2 hw.py 
File "hw.py", line 2 SyntaxError: Non-ASCII character ‘\xe6‘ in file hw.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

在python3.6上运行

技术分享图片

在python3.7版本下运行改代码:

技术分享图片

在pyhon2以及python3.6上再次执行如下代码:

[root@bogon test]# cat hw.py
#/usr/bin/python3
#-*-coding:utf-8 -*-
print("您好,世界!!!")

技术分享图片

Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。

解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了

技术分享图片

就是说,在python7上Cpython强制使用utf-8编码。

所以如果大家在学习过程中,代码中包含中文,就需要在头部指定编码。

**注意:**Python3.X 源码文件默认使用utf-8编码,所以可以正常解析中文,无需指定 UTF-8 编码。
**注意:**如果你使用编辑器,同时需要设置 py 文件存储的格式为 UTF-8,否则会出现类似以下错误信息:

技术分享图片

2.2 字符编码介绍

ASCII,美国标准信息交换代码是基于拉丁字母的一套电脑编码系统,主要用于显示现在英语和其他西欧语言,其最多只能用8位来表示(一个字节),即:2**8=256-1,所以呢,ASCII码最多只能表示255个字符。

技术分享图片

有128-255个字符的扩展。

为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体的big5.
7445个汉字扩展存储——JB2312(1980年)
1995年汉字的扩展规模达到21886个符号,分别是汉字区和图形符号区,产生了GBK1.0。
2000年的GB18030取代了GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文,蒙文,维吾尔文等重要的少数民族文字。
从ASCII、GB2312、GBK到GB18030,这些编码是向下兼容的。




python字符编码与数据类型

原文:https://www.cnblogs.com/anttech/p/12555694.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!