「时光不负,创作不停,本文正在参加2022年中总结征文大赛」
类型转换
在Python中常用的数值运算符有8个,具体请见下表:(python3.)
| 函数 | 描述 |
|---|---|
| int(x) | 转换为整数 |
| float(x) | 转换为浮点数 |
| str(x) | 转换字符串 |
| bool(x) | 转换布尔 |
转换为整数
a = '123'
print(type(a)) #<class 'str'>
b = int(a)
print(b) #123
print(type(b)) #<class 'int'>
#以下两种情况会装换失败
# 字符串中包含数字以外的字符,不能转换为int
print(int('123.456'))
print(int('74545sd')) #ValueError: invalid literal for int() with base 10: '74545sd'
布尔转换为整数(bool->int)
t = True
print(int(t)) #1
f = False
print(int(f)) #0
转换为浮点数
a = '123'
c = float(a)
print(c) #123.0
print(type(c)) #<class 'float'>
print(float("1.6546")) #1.6546
#字符串不是小数、整数格式,不能转换为float
print(float("jij1546")) #ValueError: could not convert string to float: 'jij1546'
转换为字符串
print(str(458)) #458
print(str(654.14485)) #654.14485
print(str(True)) #True
str_list = ['aaa','bbb','ccc']
print(str(str_list)) #['aaa', 'bbb', 'ccc']
转换为布尔
整数转换为布尔(int->bool)
非0整数转换为布尔全是True,0转换为布尔为False
print(bool(10)) #True
print(bool(0)) #False
print(bool(-102)) #True
浮点数转换为布尔(float->bool)
大小不为0的浮点数转化为布尔全为True,0.0、0.00/0.000等(值大小为0)的浮点数转换为布尔为False
print(bool(425.5454)) #True
print(bool(-652.552)) #True
print(bool(0.0)) #False
print(bool(0.0000)) #False
字符串/列表/元组/字典 转换为布尔(str/list/tuple/dict->bool)
非空(不为''/"")字符串转换为布尔全是True, ''/""转换boolen类型为False
非空List列表, 非空Tuple元组, 非空Dict字典转换为布尔全是True(只要这几个数据类型的变量里面有数据转换为布尔全为True),反之为False
#str字符串
print(bool(" ")) #True
print(bool("abc")) #True
print(bool("&*%")) #True
print(bool("123")) #True
print(bool("")) #False
print(bool('')) #False
#List列表
print(bool([])) #False
print(bool([""])) #True
print(bool([" "])) #True
print(bool(["aa",""])) #True
#Tuple元组
print(bool(())) #False
print(bool((1, 2))) #True
print(bool(('1', 2, ''))) #True
#Dict字典
print(bool({})) #False
print(bool({'a': '123'})) #True
print(bool({'': ''})) #True
print(bool({'': 100})) #True
只有 0、0.0(大小等于0的浮点数)、''、""、[]、{}、()转换为布尔为False;其他数据转换为布尔全为True。
寄语:“问号是开启任何一门科学的钥匙”。愿你以后,要多有几个问号。