1、类型转换:
int(x) #把x转换成整数
float(x) #把x转换成浮点数
str(x) #把x转换成字符串
bool(x) #把x转换成bool值
以下结果均为真:
int('123') == 123
float('3.3') == 3.3
str(111) == '111'
bool(0) == False
print(int('123')) #123
print(float('3.3')) #3.3
print(str(111)) #111
print(bool(0)) #False
int类型可以转换为其它类型:float(123)、str(111)、bool(12)
float类型可以转换为str、bool:str(3.3)、bool(3.3)
str类型可根据自身的情况转换为int、float、bool:如int("123")、float('3.3')、bool('3.3')
2、bool类型转换:
print(bool(-123)) #True
print(bool(0)) #False
print(bool('abc')) #True
print(bool('False')) #True
print(bool('')) #False
print(bool(' ')) #True(有空格)
当其它类型转换为bool类型时,以下数值会被认为是False:
1)为0的数字,包括0,0.0
2)空字符串,包括'',""
3)表示空值的None
4)空集合,包括(),[],{}
其他的值都认为是True。
None表示设么都没有,它与0,空字符,False,空集合不一样
bool(' ') #True,单引号中间为空格
在if,while等条件判断语句里,判断条件会自动进行一次bool的转换,如:
a ='123'
if a:
print(a,'this is not a blank string')
其效果等同于:if bool(a) 或者 if a!=''