1. 首页
  2. 技术文章

6、Python类型转换和类型转换

在本文中,您将了解类型转换和类型转换的用法。

在学习Python中的类型转换之前,您应该了解 Python数据类型

类型转换

将一种数据类型(整数,字符串,浮点数等)的值转换为另一种数据类型的过程称为类型转换。Python有两种类型的类型转换。

  1. 隐式类型转换
  2. 显式类型转换

隐式类型转换

在隐式类型转换中,Python自动将一种数据类型转换为另一种数据类型。此过程不需要任何用户参与。

让我们看一个示例,其中Python促进将较低数据类型(整数)转换为较高数据类型(浮点数)以避免数据丢失。

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

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))

当我们运行上面的程序时,输出将是:

num_int的数据类型:<class'int'>
num_flo的数据类型:<class'float'>

num_new的值:124.23
num_new的数据类型:<class'float'>

在上面的程序中,

  • 我们添加两个变量 num_int 和 num_flo,将值存储在 num_new.
  • 我们将分别查看所有三个对象的数据类型。
  • 在输出中,我们可以看到的数据类型 num_int是一段integer时间的数据类型num_flo是一个float
  • 另外,我们可以看到 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)

当我们运行上面的程序时,输出将是:

num_int的数据类型:<class'int'> 
num_str的数据类型:<class'str'> 

追溯(最近一次通话): 
  <模块>中的文件“ python”,第7行 
TypeError:+不支持的操作数类型:“ int”和“ str”

在上面的程序中,

  • 我们添加两个变量 num_int 和 num_str.
  • 从输出中可以看到,我们得到了TypeError。在这种情况下,Python无法使用隐式转换。
  • 但是,Python针对此类情况提供了一种解决方案,称为“显式转换”。

显式类型转换

在“显式类型转换”中,用户将对象的数据类型转换为所需的数据类型。我们使用像预定义功能int()float()str(),等进行显式类型转换。

这种转换类型也称为类型转换,因为用户强制转换(更改)对象的数据类型。

句法 :

<required_datatype>(表达式)

可以通过将所需的数据类型函数分配给表达式来完成类型转换。


示例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 多变的。
  • 我们转换了 num_str从字符串(高位)到整数(低位)类型,使用int()函数执行加法。
  • 转换后 num_str 为整数值,Python可以将这两个变量相加。
  • 我们得到了 num_sum 值和数据类型为整数。

要记住的要点

  1. 类型转换是对象从一种数据类型到另一种数据类型的转换。
  2. 隐式类型转换由Python解释器自动执行。
  3. Python避免了隐式类型转换中的数据丢失。
  4. 显式类型转换也称为类型转换,对象的数据类型由用户使用预定义的函数进行转换。
  5. 在类型转换中,当我们将对象强制为特定数据类型时,可能会发生数据丢失。
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站不拥有所有权,不承担相关法律责任。如发现有侵权/违规的内容, 联系QQ1841324605,本站将立刻清除。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

服务热线:130-0886-1890

QR code