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 等数据类型在后面的文章中详细书写.
来源: http://www.bubuko.com/infodetail-3117905.html