num = 4
print(num + " other words")
在这段代码中,Python将返回一个错误,它不能像这样将整数和字符串一起打印-我知道可以用str将int转换为字符串,但是Python为什么不自动这样做呢?
由Programiz撰写
类型转换将一种数据类型(整数,字符串,浮点数等)的值转换为另一种数据类型的过程称为类型转换。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: <class 'int'> datatype of num_flo: <class 'float'> Value of num_new: 124.23 datatype of num_new: <class 'float'>
在上面的程序中
我们添加两个变量num_int和num_flo,将值存储在num_new中。我们将分别查看所有三个对象的数据类型。在输出中,我们可以看到num_int的数据类型是整数,而num_flo的数据类型是浮点型。此外,我们可以看到num_new具有float数据类型,因为Python总是将较小的数据类型转换为较大的数据类型,以避免数据丢失。
现在,让我们尝试添加一个字符串和一个整数,看看Python如何处理它。
示例2:字符串(较高)数据类型和整数(较低)数据类型的加法
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: <class 'int'> Data type of num_str: <class 'str'> Traceback (most recent call last): File "python", line 7, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str'
在上面的程序中
我们添加两个变量num_int和num_str。从输出中可以看到,我们得到了TypeError。在这种情况下,Python无法使用隐式转换。但是,Python针对此类情况提供了一种解决方案,称为“显式转换”。
显式类型转换在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。我们使用诸如int(),float(),str()等预定义函数来执行显式类型转换。
这种转换类型也称为类型转换,因为用户强制转换(更改)对象的数据类型。
句法 :
<required_datatype>(expression)
可以通过将所需的数据类型函数分配给表达式来完成类型转换。
示例3:使用显式转换将字符串和整数相加
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: <class 'int'> Data type of num_str before Type Casting: <class 'str'> Data type of num_str after Type Casting: <class 'int'> Sum of num_int and num_str: 579 Data type of the sum: <class 'int'>
在上面的程序中
我们添加num_str和num_int变量。我们使用int()函数将num_str从字符串(较高)转换为整数(较低)类型以执行加法。将num_str转换为整数后,Python可以添加这两个变量。我们得到num_sum值和数据类型为整数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句