在制造业中,铸造是将液态或熔化的金属倒入模具中,并让其冷却以获得所需形状的过程。在编程中,类型转换指的是将一个类型的对象转换为另一种类型。在这里,我们将学习Python中的类型转换。
Python中有不同的数据类型,例如数字、序列、映射等。可能会出现这样的情况,你有一个可用的某种类型的数据,但你想以另一种形式使用它。例如,用户输入了一个字符串,但你想将其用作数字。Python的类型转换机制可以让你做到这一点。
类型转换分为两种类型 –?隐式?和?显式?。
当任何语言编译器/解释器自动将一个类型的对象转换为另一个类型时,这被称为隐式类型转换。Python是一种强类型语言,它不允许在不相关的数据类型之间进行自动类型转换。例如,字符串不能转换为任何数字类型。然而,整数可以转换为浮点数。而其他语言如JavaScript是一种弱类型语言,在字符串连接时,将整数强制转换为字符串。
请注意,每种类型的内存需求是不同的。例如,Python中的整数对象占用4个字节的内存,而浮点数对象由于其小数部分需要8个字节。因此,Python解释器不会自动将浮点数转换为整数,因为这将导致数据丢失。另一方面,可以通过将其小数部分设置为0来轻松地将整数转换为浮点数。
当对一个整数和浮点数操作数进行任何算术运算时,将发生隐式的整数到浮点数转换。
我们有一个整数和一个浮点数变量。
>>> a=10 # int object
>>> b=10.5 # float object
Python
进行加法运算时,将整数对象10升级为10.0。它是一个浮点数,但与其之前的数值相等。现在我们可以对两个浮点数进行加法运算。
>>> c=a+b
>>> print (c)
20.5
Python
在隐式类型转换中,字节大小较小的对象会被提升到与操作中其他对象的字节大小相匹配。例如,在与浮点对象相加之前,一个布尔对象首先被提升为int,然后再提升为float。在以下示例中,我们尝试将一个布尔对象添加到一个浮点数中。
>>> a=True
>>> b=10.5
>>> c=a+b
>>> print (c)
11.5
Python
请注意,True等于1,False等于0。
尽管自动或隐式转换仅限于int到float的转换,但您可以使用Python的内置函数执行显式转换,例如字符串到整数的转换