Python 提供了丰富的数据类型来处理各种类型的数据。通常,可能会发现自己需要将数据从一种类型转换为另一种类型,以执行操作或确保代码的兼容性。这个过程称为类型转换,Python 提供了多种函数,实现数据类型的转换。在本文中,我们将通过示例来探讨这些转换函数。
int() 函数将对象转换为整数。它可以处理整数字符串和浮点数,将小数部分向下舍入。不能处理浮点数字符串。
a = "10"
b = 3.14
c = 3.9
a_int = int(a)
b_int = int(b)
c_int = int(c)
print(a_int)
print(b_int)
print(c_int)
输出:
10
3
3
float() 函数将对象转换为浮点数。它可以转换整数、包含数字字符的字符串,甚至是科学记数法。
a = "10"
b = 3
c = "10.9"
d = 3.14E+3
a_float = float(a)
b_float = float(b)
c_float = float(c)
d_float = float(d)
print(a_float)
print(b_float)
print(c_float)
print(d_float)
输出:
10.0
3.0
10.9
3140.0
str() 函数将对象转换为字符串。常用于将非字符串与字符串连接起来。
a = 10
b = 3.14
a_str = str(a)
b_str = str(b)
c_str = a_str + b_str
d = a + b
print(a_str)
print(b_str)
print(c_str)
print(d)
输出:
10
3.14
103.14
13.14
list() 函数将可迭代对象(如元组或字符串)转换为列表。
a = "abc"
b = (1, 2, 3)
c = ("1", "2", "3")
a_list = list(a)
b_list = list(b)
c_list = list(c)
print(a_list)
print(b_list)
print(c_list)
运行结果:
['a', 'b', 'c']
[1, 2, 3]
['1', '2', '3']
tuple() 函数将可迭代对象转换为元组。
a = "abc"
b = [1, 2, 3]
c = ["1", "2", "3"]
a_tuple = tuple(a)
b_tuple = tuple(b)
c_tuple = tuple(c)
print(a_tuple)
print(b_tuple)
print(c_tuple)
运行结果:
('a', 'b', 'c')
(1, 2, 3)
('1', '2', '3')
set() 函数将可迭代对象转换为集合,并删除重复的元素。
a = "abc"
b = [1, 2, 3, 3]
c = ["1", "2", "3"]
a_set = set(a)
b_set = set(b)
c_set = set(c)
print(a_set)
print(b_set)
print(c_set)
输出:
{'a', 'c', 'b'}
{1, 2, 3}
{'1', '3', '2'}
dict() 函数可以将嵌套的可迭代对象(如元组)转换为字典。
a = [("a", 1), ("b", 2), ("c", 3)]
a_dict = dict(a)
print(a_dict)
输出:
{'a': 1, 'b': 2, 'c': 3}
bool() 函数将对象转换为布尔值。它将数值为零值和空值返回 “False” ,将非零数字和非空容器返回 “True”。
a = ""
b = 123
c = "abc"
a_bool = bool(a)
b_bool = bool(b)
c_bool = bool(c)
print(a_bool)
print(b_bool)
print(c_bool)
输出:
False
True
True
complex() 函数将整数、浮点数或数值型字符串转换为复数。
a = 3.14
b = 123
c = "123"
a_complex = complex(a)
b_complex = complex(b)
c_complex = complex(c)
print(a_complex)
print(b_complex)
print(c_complex)
输出:
(3.14+0j)
(123+0j)
(123+0j)
bytes() 函数将字符串转换为字节对象。
a = "abc"
b = "3.14"
a_bytes = bytes(a, encoding="utf-8")
b_bytes = bytes(b, encoding="utf-8")
print(a_bytes)
print(b_bytes)
输出:
b'abc'
b'3.14'
bytearray() 函数从字符串或可迭代对象创建可变字节数组。
a = "abc"
b = "3.14"
a_bytearray = bytearray(a, encoding="utf-8")
b_bytearray = bytearray(b, encoding="utf-8")
print(a_bytearray)
print(b_bytearray)
输出:
bytearray(b'abc')
bytearray(b'3.14')
ord() 函数返回字符的 ASCII 数值。
a = "a"
a_ord = ord(a)
print(a_ord)
输出:
97
chr() 函数将 ASCII 数值转换为字符。
a = 88
a_chr = chr(a)
print(a_chr)
输出:
x
联系客服