布尔值
python中把True和False定义成了关键字,但本质还是1和0,且可以和数字相加。
例:a=True
b=3
a+b=4
类型转换和四舍五入
- 可以使用float()将其它类型转化成浮点数(axb^10形式的科学计数法)
- 整数和浮点数混合运算时,表达式结果自动转形成浮点数。如2+8.0=10.0
- round(value)可以返回四舍五入的值
float()和round()不会改变原有值,而是产生新的值
使用int()实现类型转换
- 浮点数直接舍去小数部分。如:int(9.9)=9
- 布尔值True转为1,False转为0。如:int(True)=1
- 字符串符合整数格式(浮点数格式不行)则直接转为对应整数,否则报错。
整数的大小
Python2中,int是32位可以存储从-2147483648到2147483647的整数。Long类型是64位,可以储存:-2^63 到 2^63-1之间的数值
Python3中,int可以储存任意大小的整数,long被取消。
Python3可以做超大数的计算,而不会造成“整数溢出”,这一特点使Python特别适合科学运算的特点。
is和==的区别
- is判断两个标识符是不是引用同一个对象,即比较对象的地址
- ==用于判断引用变量对象的值是否相等,默认调用对象的_eq_()方法
- 同一运算符和比较运算符的区别
- is运算符比==效率高,在变量和None进行比较时,应该使用is。
整数缓存
Python仅对比较小的整数对象进行缓存,范围为[-5,256],但在Pycharm中或保存为文件执行,结果是不一样的,因为解释器做了一部分优化,缓存范围为[-5,任意正整数]。
例子 | 命令行 | Pycharm |
---|---|---|
a=-6,b=-6,a is b | False | False |
a=-5,b=-5,a is b | True | True |
a=266,b=266,a is b | False | True |