您的位置:

Python 中的类型转换

在本教程中,我们将学习如何在 Python 中进行类型转换。

我们遇到不同类型的算术运算,其中涉及多种数据类型,然后相应地获得结果。

在这里我们将讨论两者,

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

让我们借助程序来理解它们-

隐式类型转换

在隐式类型转换期间,用户不应该在转换期间提及任何特定的数据类型。

下面的程序说明了如何用 Python 来实现。


#program to demonstrate implicit type conversion
#initializing the value of a
a = 10
print(a)
print("The type of a is ", type(a))
#initializing the value of b
b = 4.5
print(b)
print("The type of b is ", type(b))
#initializing the value of c
c = 4.0
print(c)
print("The type of c is ", type(c))
#initializing the value of d
d = 5.0
print(d)
print("The type of d is ", type(d))
#performing arithmetic operations
res = a * b
print("The product of a and b is ", res)
add = c + d
print("The addition of c and d is ", add)

输出:

10
The type of a is <class 'int'>
4.5
The type of b is <class 'float'>
4.0
The type of c is <class 'float'>
5.0
The type of d is <class 'float'>
The product of a and b is  45.0
The addition of c and d is  9.0

解释-

让我们看一下这个节目的解说。

  1. 为了检查这些值在执行操作时是如何转换的,我们初始化了 a、b、c 和 d 的值。
  2. 在此之后,我们检查了它们每个的数据类型。
  3. 最后,我们对变量 a 和 b 执行加法,对变量 c 和 d 执行乘法。
  4. 在执行上述程序时,我们可以观察到,在产品的情况下,最终结果是一个浮点值(a 是整数,b 是浮点)。

现在,是时候继续下一件事了,那就是显式类型转换。

显式类型转换

在这种类型转换中,用户应该在函数中传递值以获得所需的数据类型。

int()、float()和 str()主要用于显式类型转换。

考虑下面给出的程序,


#program to demonstrate explicit type conversion
#initializing the value of a
a=10.6
print("The type of 'a' before typecasting is ",type(a))
print(int(a))
print("The type of 'a' after typecasting is",type(a))
#initializing the value of b
b=8.3
print("The type of 'b' before typecasting is ",type(b))
print(int(b))
print("The type of 'b' after typecasting  is",type(b))
#initializing the value of c
c=7
print("The type of 'c' before typecasting is ",type(c))
print(float(c))
print("The type of 'c' after typecasting is",type(c))

输出:

The type of 'a' before typecasting is  <class 'float'>
10
The type of 'a' after typecasting is <class 'float'>
The type of 'b' before typecasting is  <class 'float'>
8
The type of 'b' after typecasting  is <class 'float'>
The type of 'c' before typecasting is  <class 'int'>
7.0
The type of 'c' after typecasting is <class 'int'>

解释-

让我们了解一下我们在这个项目中做了什么。

  1. 我们已经初始化了 a、b 和 c 的值。
  2. 我们在这个程序中使用了 int()和 float()来查看显式类型转换是如何发生的。
  3. 在执行这个程序时,我们可以验证数据类型是如何变化的。

最后,让我们看一下本文的最后一个程序,它涵盖了显式类型转换的可能类型。


#program to demonstrate explicit type conversion
#initializing the value of a
a=10
print("The type of 'a' before typecasting is ",type(a))
print(str(a))
print("The type of 'a' after typecasting is",type(a))
#initializing the value of b
b='8'
print("The type of 'b' before typecasting is ",type(b))
print(int(b))
print("The type of 'b' after typecasting  is",type(b))
#initializing the value of c
c='7.9'
print("The type of 'c' before typecasting is ",type(c))
print(float(c))
print("The type of 'c' after typecasting is",type(c))

输出:

The type of 'a' before typecasting is  <class 'int'>
10
The type of 'a' after typecasting is <class 'int'>
The type of 'b' before typecasting is  <class 'str'>
8
The type of 'b' after typecasting  is <class 'str'>
The type of 'c' before typecasting is  <class 'str'>
7.9
The type of 'c' after typecasting is <class 'str'>

解释-

该方法类似于上面的程序,在这个程序中,我们包含了使用所有三个 int()、str()和 float()的转换。

结论

在本教程中,我们学习了什么是 python 中的类型转换,它的类型是什么,以及如何在 Python 中执行。