Python 中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。变量是没有类型的,我们所说的“类型”是变量所指的内存中对象的类型。
等号(=)用来给变量赋值
变量名 = 存储在变量中的值
>>> counter = 100 # An integer assignment
>>> miles = 1000.0 # A floating point
>>> name = 'John' # A string
同时为多个变量赋值
>>> a = b = 1 # 从右到左赋值,两个变量被赋予相同的数值。
>>> a
1
>>> b
1
>>> a, b = 3, 4 # 多个对象指定多个变量
>>> a
3
>>> b
4
int,整数
包含正整数和负整数,32位和64位系统的取值范围不同。
32位系统的取值范围:-231 ~ 231 - 1
64位系统的取值范围:-263 ~ 263 - 1
Python3 中没有 long 数据类型了,归属于 int,没有限定 long 的数值大小,但是会受到硬件内存的限制,所以不会无限大。
Python2 中有 long 类型。
整数数值的表现形式:
1.二进制形式,以 0b 或 0B 开头的整数;
2.八进制形式,以 0o 或 0O 开头的整数(第二个字母是小写或大写字母 o);
3.十进制形式,最普通的整数;
4.十六进制形式,以 0x 或 0X 开头的整数,其中 10~15 分别以 a~f 字母来表示且不区分大小写。
float,浮点数
有限或无限循环的小数(不包含无限不循环的小数,如圆周率);
精准度,默认是17位精度,也就是小数点后16位,因为浮点数存储结构的关系导致越往后精度就越不准。
浮点数占用的存储空间比整数大。
浮点数的表现形式:
1.十进制形式,如 5.12 等;
2.科学计数形式。
# 使用 decimal 模块的 getcontext() 和 Decimal() 方法来提高 float 精度。
>>> from decimal import *
>>> getcontext() # getcontext() 方法默认提高 float 精度到 28 位。
Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])
>>> getcontext().prec = 30 # 修改 float 位数为 30 位
>>> 1 / 3 # 缺省float 17 位
0.3333333333333333
>>> Decimal(1) / Decimal(3) # 修改后显示 30 位
Decimal('0.333333333333333333333333333333')
complex,复数
由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示,复数的实部 a 和虚部 b 都是浮点型。
string,字符串
用单引号、双引号括起来的字符都是字符串,如:‘1’ “1”。
单引号和双引号没有区别,在此种情况下需要单双结合:msg = “I’m is xiaoming”。
字符串可以用相加或相乘来进行拼接,要求双方都是字符串才行,不能根数字或其它数据类型进行拼接。
bytes,字节
Python3 严格分区 str(文本类数据)和 bytes(二进制类数据,如图片、视频等),它们之间不会以任意隐式的方式混。
文本数据,编码是 Unicode,str类型表示。
二进制数据,bytes 类型表示,例如视频、音频。
True 和 False,布尔型
注意用于逻辑判断,注意区分大小写。
Python 将任何非零或非空值都是 True,零或 Null,则假定为 False。
还有 list、dict、set、None 等数据类型在后面的文章中详细书写。