Python 类型转换

在编程中,类型转换是将一种类型的数据转换为另一种类型的过程。例如:将int 数据转换为str.

Python 中有两种类型的类型转换。

  • 隐式转换——自动类型转换
  • 显式转换 – 手动类型转换

Python 隐式类型转换

在某些情况下,Python 会自动将一种数据类型转换为另一种数据类型。这称为隐式类型转换。

示例 1:将整数转换为浮点数

正如我们所看到的,“z”的数据类型自动更改为“float”类型,而一个变量 x 是整数类型,而另一个变量 y 是浮点类型。浮点值没有转换为整数的原因是类型提升,它允许通过将数据转换为更宽尺寸的数据类型来执行操作,而不会丢失任何信息。这是Python中隐式类型转换的一个简单例子。

x = 10

print("x 的类型为:",type(x))

y = 10.6
print("y 的类型为:",type(y))

z = x + y

print(z)
print("z 的类型为:",type(z))

输出

x 的类型为:<class 'int'> 
y 的类型为:<class 'float'> 
20.6 
z 的类型为:<class 'float'>

Python 显式类型转换

在 Python 中的显式类型转换中,数据类型由用户根据自己的要求手动更改。在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。

我们使用 int()、float()、str() 等内置函数来执行显式类型转换。

示例 :使用显式转换将字符串和整数相加

num_string = '12'
num_integer = 23

print("类型转换前 num_string 的数据类型:",type(num_string))

# explicit type conversion
num_string = int(num_string)

print("类型转换后 num_string 的数据类型:",type(num_string))

num_sum = num_integer + num_string

print("Sum:",num_sum)
print("num_sum 的数据类型:",type(num_sum))

输出:

类型转换前 num_string 的数据类型:<class 'str'>
类型转换后 num_string 的数据类型:<class 'int'>
总数:35
num_sum 的数据类型:<class 'int'>

在上面的例子中,我们创建了两个变量:num_stringnum_intege分别使用str 和int 键入值。注意代码,

num_string = int(num_string)

在这里,我们使用 int() 执行 num_string 到整数类型的显式类型转换。将 num_string 转换为整数值后,Python 可以将这两个变量相加。最后,我们得到了 num_sum 值,即 35,数据类型为 int。

Python 使用 ord()、hex()、oct() 进行类型转换

ord()该函数用于将字符转换为整数。
hex():该函数是将整数转换为十六进制字符串。oct():该函数是将整数转换为八进制字符串。

# 初始化整数
s = '4'

# 打印字符转换为整数
c = ord(s)
print ("将字符转换为整数后 : ",end="")
print (c)

# 打印整数转换为十六进制字符串
c = hex(56)
print ("将56转换为十六进制字符串后 : ",end="")
print (c)

# 打印整数转换为八进制字符串
c = oct(56)
print ("将 56 转换为八进制字符串后 : ",end="")
print (c)

输出:

将字符转换为整数后: 52
将56转换为十六进制字符串后 : 0x38
将56转换为八进制字符串后 : 0o70

Python 使用 tuple()、set()、list() 进行类型转换

tuple()该函数用于转换为元组。
set():该函数返回转换为set后的类型。
list()该函数用于将任何数据类型转换为列表类型

# 初始化字符串
s = 'geeks'

# 打印字符串转换为元组
c = tuple(s)
print ("将字符串转换为元组后:",end="")
print (c)

# 打印字符串转换为集合
c = set(s)
print ("将字符串转换为集合后:",end="")
print (c)

# 打印字符串转换为列表
c = list(s)
print ("将字符串转换为列表后:",end="")
print (c)

输出

将字符串转换为元组后:('g', 'e', 'e', 'k', 's')
将字符串转换为集合后:{'k', 'e', 's', 'g'}
将字符串转换为列表后:['g', 'e', 'e', 'k', 's']

Python 使用dict()、complex()、str() 进行类型转换

dict():该函数用于将顺序(key,value)的元组转换为字典。
str()用于将整数转换为字符串。
Complex(real,imag) :此函数将实数转换为复数(real,imag)。

# 初始化整数
a = 1
b = 2

# 初始化元组
tup = (('a', 1) ,('f', 2), ('g', 3))

# 打印将整数转换为复数的结果
c = complex(1,2)
print ("将整数转换为复数后:", end="")
print (c)

# 打印将整数转换为字符串的结果
c = str(a)
print ("将整数转换为字符串后:", end="")
print (c)

# 打印将元组转换为字典的结果
c = dict(tup)
print ("将元组转换为字典后:", end="")
print (c)

输出:

将整数转换为复数后:(1+2j)
将整数转换为字符串后:1
将元组转换为字典后:{'a': 1, 'f': 2, 'g': 3}

将 ASCII 值转换为字符

chr(number):该函数将数字转换为其相应的ASCII字符。 

a = chr(76)
b = chr(77)

print(a)
print(b)

输出:

LM