📅  最后修改于: 2020-09-19 14:20:15             🧑  作者: Mango
在学习Python的类型转换之前,您应该了解Python数据类型。
将一种数据类型(整数, 字符串,浮点数等)的值转换为另一种数据类型的过程称为类型转换。 Python有两种类型的类型转换。
在隐式类型转换中, Python自动将一种数据类型转换为另一种数据类型。此过程不需要任何用户参与。
让我们看一个示例,其中Python促进将较低数据类型(整数)转换为较高数据类型(浮点数)以避免数据丢失。
num_int = 123
num_flo = 1.23
num_new = num_int + num_flo
print("datatype of num_int:",type(num_int))
print("datatype of num_flo:",type(num_flo))
print("Value of num_new:",num_new)
print("datatype of num_new:",type(num_new))
当我们运行上面的程序时,输出将是:
datatype of num_int:
datatype of num_flo:
Value of num_new: 124.23
datatype of num_new:
在上面的程序中,
num_int
和num_flo
,将值存储在num_new
。 num_int
的数据类型是integer
而num_flo
的数据类型是float
。 num_new
具有float
数据类型,因为Python总是将较小的数据类型转换为较大的数据类型,以避免数据丢失。 现在,让我们尝试添加一个字符串和一个整数,并查看Python如何处理它。
num_int = 123
num_str = "456"
print("Data type of num_int:",type(num_int))
print("Data type of num_str:",type(num_str))
print(num_int+num_str)
当我们运行上面的程序时,输出将是:
Data type of num_int:
Data type of num_str:
Traceback (most recent call last):
File "python", line 7, in
TypeError: unsupported operand type(s) for +: 'int' and 'str'
在上面的程序中,
num_int
和num_str
。 TypeError
。在这种情况下, Python无法使用隐式转换。 在“显式类型转换”中,用户将对象的数据类型转换为所需的数据类型。我们使用诸如int()
, float()
, str()
等预定义函数来执行显式类型转换。
这种转换类型也称为类型转换,因为用户强制转换(更改)对象的数据类型。
句法 :
(expression)
可以通过将所需的数据类型函数分配给表达式来完成类型转换。
num_int = 123
num_str = "456"
print("Data type of num_int:",type(num_int))
print("Data type of num_str before Type Casting:",type(num_str))
num_str = int(num_str)
print("Data type of num_str after Type Casting:",type(num_str))
num_sum = num_int + num_str
print("Sum of num_int and num_str:",num_sum)
print("Data type of the sum:",type(num_sum))
当我们运行上面的程序时,输出将是:
Data type of num_int:
Data type of num_str before Type Casting:
Data type of num_str after Type Casting:
Sum of num_int and num_str: 579
Data type of the sum:
在上面的程序中,
num_str
和num_int
变量。 int()
函数将num_str
从字符串 (高位)转换为整数(低位)类型以执行加法。 num_str
转换为整数后, Python可以将这两个变量相加。 num_sum
值和数据类型为整数。