总结
说明 转换成为int转换成为float转换成为str转换成为bool
总结int ==> str(不是一个合法数字会报错,12.232,12ss) float (会舍弃小数点后面的) bool(turn为1,false为0)
float ==》int (12.0) str(不是有效浮点数会报错)
# str ==>万能
bool ===》这些('' "" 0 [] () {} Nome)为 False 其他都为 turn
说明
| 函数 | 说明 |
|---|---|
| int(x [,base ]) | 将x转换为一个整数 |
| float(x) | 将x转换为一个浮点数 |
| str(x) | 将对象 x 转换为字符串 |
| bool(x) | 将对象x转换成为布尔值 |
print(int("123")) # 123 将字符串转换成为整数
print(int(123.78)) # 123 将浮点数转换成为整数, (舍弃小数点后面的)
print(int(True)) # 1 布尔值True转换成为整数是 1
print(int(False)) # 0 布尔值False转换成为整数是 0
以下两种情况将会转换失败
'''
123.456 和 12ab 字符串,都包含非法字符,不能被转换成为整数,会报错
print(int("123.456"))
print(int("12ab"))
'''
使用int()函数进行类型转换时,还可以传入两个参数,第二个参数用来表示进制。
# 输出的结果是17.八进制的21,对应的十进制数字是17
print(int("21",8))
# 输出的结果是240.十六进制的F0,对应的十进制数字是240
print(int("F0",16))
以下写法会报错。八进制里允许的最大值是7,所以 29 不是一个合法的八进制数
print(int("29",8))
转换成为float
f1 = float("12.34")
print(f1) # 12.34
print(type(f1)) # float 将字符串的 "12.34" 转换成为浮点数 12.34
f2 = float(23)
print(f2) # 23.0
print(type(f2)) # float 将整数转换成为了浮点数
#如果字符串不能被转换成为有效的浮点数,会报错
c = float('hello')
print(c)
转换成为str
str1 = str(45) str2 = str(34.56) str3 = str(True) print(type(str1),type(str2),type(str3))转换成为bool
print(bool(''))
print(bool(""))
print(bool(0))
print(bool([]))
print(bool({}))
print(bool(()))
print(bool(None))
除以上的都是False,其他的都会被转换成为True



