首页 > 代码库 > python变量与数据类型
python变量与数据类型
变量
什么是变量
所谓变量,指的是在程序运行过程中需要用到的中间结果,变量定义后,会占用一块内存开辟的空间地址,通过内存空间确保同一时间的唯一性。
>>> print(id.__doc__)
Return the identity of an object.
This is guaranteed to be unique among simultaneously existing objects.
(CPython uses the object‘s memory address.)
变量的命名规则
1)变量只能是大小写字母、数字和下划线的任意组合,并且开头不能是数字。
2)python中的关键字不能声明为变量使用。
3)变量名描述性要强
>>> 1_level = 1
File "<stdin>", line 1
1_level = 1
^
SyntaxError: invalid syntax
>>> level_1 = 1
>>> _level1 = 1
>>> print = 10
>>> print(level_1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: ‘int‘ object is not callable
字符编码
ASCII(美国标准信息交换代码)字符编码,用于显示现代英语和西欧语言,最多只能用8位来表示,即1字节,最多2**8 - 1 = 255个符号。
关于中文
1980年设计出了用于存储中文的GB2312,一共收录7445个字符,包括6763个字符和682个其他符号。
1995年设计出了可以收录21886个符号的GBK1.0,2000年GB18030取代GBK1.0的正式国家标准,可以收录27848的汉字。
为了解决不同国家之间经常出现的字符不兼容问题,推出了Unicode(统一码,万国码,单一码),为每种语言的每个字符制定了统一的并且唯一的二进制编码,每个字符统一占用2个字节。
为了解决Unicode在存储英文时多占用1个字节,继续优化出了世界上最流行的UTF8可变长字符编码,英文1个字符还占1个字节,欧洲语言1个字符占2个字节,中文1个字符占3个字节。
python2的解释器在加载.py字节码文件时,使用默认的(ASCII)字符编码,于是不支持中文。
cat hello.py #!/usr/bin/env python print ‘世界,你好‘ python hello.py File "hello.py", line 2 SyntaxError: Non-ASCII character ‘\xe4‘ in file hello.py on line 2, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
那么,在Python2中,使用中文时需要声明支持中文的字符编码。
cat hello.py #!/usr/bin/env python #-*- coding:utf-8 -*- print ‘世界,你好‘ python hello.py 世界,你好
python3默认会使用UTF-8字符编码,默认就支持中文。
Python 3.5.2 (default, Dec 2 2016, 17:47:43) [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> print(‘世界,你好‘) 世界,你好
数据类型
数字类型:不加引号的数字
int(整型)
在32位的系统上,整数的位数为32,取值范围从-2**31~2**31-1,即:-2147483648~2147483647
在64为的系统上,整数的位数为64,取值范围从-2**63~2**63-1,即:-9223372036854775808~9223372036854775807
long(长整形)
在python2中使用,如果整数发生溢出,python会自动将整数数值转换为长整形数值,python3中已经不再使用。
float(浮点型)
属于有理数中特定子集的数的数据表示,大约理解为小数,占用8个字节。
布尔值
真或假 True False 1 或 0 ,真代表条件成立。
>>> 12 + 20 > 30 True >>> 12 + 20 > 35 False
字符串类型:被引号括起来的字符
字符串转常用功能:
strip: 去除字符串两侧的空格
index: 取字符串中的1个字符
切片: 取字符串中的多个字符,切片的方法叫顾头不顾尾。
拼接: 使用+号,没拼接1次就会开辟一块内存空间,字符串类型和数字类型不能拼接。
格式化输出:使用%,可以传入多种数据类型。
python变量与数据类型