bool
python3 开始不再用 0 和 1 表示布尔值了,而是使用了 True 和 False,其实值还是 1 和 0,所以布尔型是可以运算的,比如两个 True 相加值就是 2
内置函数 bool():基本没用,因为对于对象的真假,直接判断即可,不用转换
运算
and or not:与或非
is, not is:判断两个引用是否指向同一个对象
==:判断两个对象是否相等
in, not in:成员是否在组内
真假判断 if/while
不仅仅是 True 和 False,python 任何对象都可以直接进行真假判断
除了如下几种类型外,所有对象均被认为是真
- None
- False
- 所有表示 0 的数字类型,比如:0,0.0,0j
- 所有空的序列,比如:'',(),[]
- 空的键值对,比如:{}
- 用户自定义类生成的对象,如果有
__bool__()
或者__len__()
方法,且返回的是 0 或者 False
None
None 是 NoneType 类型的对象,这是个单例,我们不能再创建新的 NoneType 类型的对象了。
判断对象是不是 None,可以用 == 或者是 is。
类型转换
数字做除法时,即便两个数都是 int,运算结果也不带小数,其运算结果还是 float。比如:type(2/1)
显示类型为 float。除非使用整除法,type(2//1)
显示类型为 int
其它任何时候,都要使用显式类型转换,而且转换的方式是使用内置函数。
比如连接字符串1+'1'
会抛出 TypeError,必须使用str(1)+'1'
python作为一门动态语言,变量本身没有类型,故不需要【将父类对象转换为子类对象】这种操作
网友评论