Python是一门动态强类型的编程语言,在编写程序的过程中,我们经常需要将不同的数据类型进行转换。本文将提供一个Python数据类型转换的汇总,包括基本类型之间的转换,序列类型之间及其它数据类型之间的转换。
基本数据类型转换
int()
将数字或数字型字符串转换为整数,如果不能转换则会产生ValueError异常。
示例1:
num_str = "10"
num_int = int(num_str)
print(num_int) # 输出:10
示例2:
num_str = "hello"
num_int = int(num_str) # 报错 ValueError: invalid literal for int() with base 10: 'hello'
float()
将数字或数字型字符串转换为浮点数,如果不能转换则会产生ValueError异常。
示例1:
num_str = "3.14"
num_float = float(num_str)
print(num_float) # 输出:3.14
示例2:
num_str = "hello"
num_float = float(num_str) # 报错 ValueError: could not convert string to float: 'hello'
str()
将其它类型转换成字符串
示例1:
num_int = 10
num_str = str(num_int)
print(num_str) # 输出:10
示例2:
num_float = 3.14
num_str = str(num_float)
print(num_str) # 输出:3.14
序列类型转换
list()
将可迭代对象转换成列表
示例1:
str_ = "123"
lst_ = list(str_)
print(lst_) # 输出 ['1', '2', '3']
示例2:
tp_ = (1, 2, 3)
lst_ = list(tp_)
print(lst_) # 输出 [1, 2, 3]
tuple()
将可迭代对象转换成元组
示例1:
str_ = "123"
tpl_ = tuple(str_)
print(tpl_) # 输出 ('1', '2', '3')
示例2:
lst_ = [1, 2, 3]
tpl_ = tuple(lst_)
print(tpl_) # 输出 (1, 2, 3)
set()
将序列或可迭代对象转换成集合类型
示例1:
lst_ = [1, 2, 3, 3]
set_ = set(lst_)
print(set_) # 输出 {1, 2, 3}
示例2:
str_ = "hello"
set_ = set(str_)
print(set_) # 输出 {'e', 'l', 'o', 'h'}
其它数据类型转换
bool()
将其它数据类型转换成布尔类型,大部分数据类型转换成布尔类型都是True,只有0、0.0、''、[]、{}、None转换成False。
示例1:
bool_ = bool("hello")
print(bool_) # 输出 True
示例2:
bool_ = bool(None)
print(bool_) # 输出 False
bytes()
将字符串类型转换为字节类型bytes,字符串中含有非ASCII字符时需要指定编码方式。
示例1:
str_ = "hello"
bytes_ = bytes(str_, encoding="utf-8")
print(bytes_) # 输出 b'hello'
示例2:
str_ = "你好"
bytes_ = bytes(str_, encoding="utf-8")
print(bytes_) # 输出 b'\xe4\xbd\xa0\xe5\xa5\xbd'
bytearray()
将字符串类型转换成可变的字节类型bytearray,字符串中含有非ASCII字符时需要指定编码方式。
示例1:
str_ = "hello"
bytearray_ = bytearray(str_, encoding="utf-8")
print(bytearray_) # 输出 bytearray(b'hello')
示例2:
str_ = "你好"
bytearray_ = bytearray(str_, encoding="utf-8")
print(bytearray_) # 输出 bytearray(b'\xe4\xbd\xa0\xe5\xa5\xbd')
至此,Python数据类型转换的攻略就讲解完毕了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python数据类型转换汇总 - Python技术站