Python 不同数据转换方法是什么

Python 不同数据转换方法是什么

类型转换是将Python数据类型转换为另一种数据类型的转换。在Python中,隐式类型转换和显式类型转换是类型转换过程的两个基本类别。

本文将涵盖以下主题:

  • Python中的隐式类型转换 由Python解释器自动完成。

  • 在Python中, 显式类型转换 必须由程序员直接执行。

让我们深入学习这两种方法,并用一些示例说明。

隐式类型转换

当Python解释器在程序员不介入的情况下自动更改对象的数据类型时,发生隐式类型转换。为了在运行时避免数据丢失,较小的数据类型会转换为较高的数据类型。

我们不需要在代码中显式使用任何函数,因为转换会自动发生。

注意 − 高级语言通过解释器转换为计算机可理解的语言。在直接执行之前,解释器会逐行读取代码。

示例

以下是隐式类型转换的示例:

a = 13
print("The Data Type of Variable a is:",type(a))
b = 6.9
print("The Data Type of Variable b is:",type(b))
a = a - b
print("\nThe value of a now is:",a)
print("*Updated Data Type of the Variable a is:",type(a))

输出

从上面的示例中,我们可以看出,变量”a”最初是一个int类型,但变量”b”是一个float类型。按照求和过程和将结果存储在变量”a”中的操作后,变量”a”的数据类型会自动转换为float类型。这就是Python编程语言中的隐式类型转换。

The Data Type of Variable a is: <class 'int'>
The Data Type of Variable b is: <class 'float'>

The value of a now is: 6.1
*Updated Data Type of the Variable a is: <class 'float'>

注意 − 输入参数的类型是通过type()方法返回的。因此,type(9)返回一个为”int”的对象,而type(“9”)返回一个为”string”的对象。

显式类型转换

用户将对象的数据类型改变为显式类型转换所需的数据类型。显式类型转换使用预定义的函数,如int()、float()和str()来执行。

类型转换 是这个转换过程的另一个名称,因为它涉及用户改变对象的数据类型。

当程序员明确且准确地指定一个程序时,会进行显式类型转换。对于显式形式转换,Python包含了许多内置函数。

注意 − 由于通过显式类型转换将给定值强制转换为较小的数据类型,可能会造成数据丢失。例如,在将float值转换为int时,输出结果会将小数位数四舍五入。

语法

以下是显式类型转换的语法 −

(required data type)(expression)

示例

以下是显式类型转换的示例 –

a = 47
b = "51"
result1 = a + b
b = int(b)
result2 = a + b
print(result2)

输出

变量“a”的数据类型是数字,变量“b”的数据类型是字符串。如果将这两个条目相加并将值保留在result1变量中,则会出现TypeError。

因此,为了完成这个过程,我们必须使用显式转换。在“b”被转换为int后,才将“a”和“b”相加。输出显示为400,并将该值保留在result2变量中。

Traceback (most recent call last):
   File "main.py", line 3, in <module>
      result1 = a + b
TypeError: unsupported operand type(s) for +: 'int' and 'str'

让我们使用一个简单的示例来阐明Python提供的每个显式转换函数类型。

Int()

任何数据类型都可以通过这个函数转换为整数数据类型。int()函数需要2个参数,其语法为 int(变量, 基数) ,其中”variable”指一个字符串,”base”指定字符串所在的基数,当字符串是数据类型时。

示例

以下是int数据类型的示例-

a = "58"
print("Before conversion the data type of variable a is:",type(a))
number = int(a)
print("\nAfter conversion the data type of variable a is:",type(number))

输出

以下是上述代码的输出结果−

Before conversion the data type of variable a is: <class 'str'>

After conversion the data type of variable a is: <class 'int'>

float()

通过这个函数,任何数据类型都可以转换成浮点类型。float() 的语法为 float(参数) ,其中参数是可选的。当使用没有参数的 float 时,只能声明一个空的浮点数据类型变量。

示例

下面是一个浮点数据类型的示例 –

a = "84"
print("Before conversion the data type of variable a is : %s and a value : %s "%(type(a),a))
number = float(a)
print("\nAfter conversion the data type of variable a is: %s and number value : %s "%(type(number),number))

输出

以下是上述代码的输出结果-

Before conversion the data type of variable a is : <class 'str'> and a value : 84 

After conversion the data type of variable a is: <class 'float'> and number value : 84.0

Ord()

使用这个函数,字符可以被转换成整数。该函数接受一个字符参数 ord(character) ,并将其转换为对应的Unicode码值。用这个函数来判断一个字符串是否包含特殊字符(如表情符号)。这个函数只能用于一个字符。

示例

以下是ord数据类型的示例:

char = "H"
unicode_character = ord(char)
print("\nThe Unicode of the character %s is %s "%(char,unicode_character))

输出

以下是上述代码的输出结果

The Unicode of the character H is 72

Hex()

将数字转换为十六进制,请使用此函数。该函数的返回值是一个十六进制数,它接受一个整数或浮点数参数。hex()函数的语法是 hex(参数)。

示例

以下是十六进制数据类型的示例−

x = 87
y = hex(x)
print(y, "is of the type", type(y))

输出

以下是上述代码的输出 –

0x57 is of the type <class 'str'>

oct()

使用此函数将整数转换为八进制。此函数的返回值仅接受整数数据类型作为参数,并且是一个八进制值。八进制函数语法如下: 八进制(参数)。

示例

以下是八进制数据类型的示例−

x = 38
y = oct(x)
print(y, "is of the type", type(y))

输出

以下是上述代码的输出结果:

0o46 is of the type <class 'str'>

元组(Tuple)

此函数用于创建一个由值组成的元组。通过使用元组,可以将多个项目存储在一个变量中。元组(tuple())方法的语法为 tuple(argument) ,元组的元素为(“one,” “two,” 和 “three”)。无法更改的、有序的值的集合被称为“元组”(即不可变)。

示例

下面是一个元组数据类型的示例。

x = 'TutorialsPoint'
print(tuple(x))

输出

以下是上述代码的输出:

('T', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'P', 'o', 'i', 'n', 't')

Set()

将其转换为 set 后,此函数返回该类型。其语法为 set(iterable) ;不需要提供参数。集合是无序的。{Value 1, Value 2, Value 3, Value 4 等} 表示一个集合。

示例

以下是一个集合数据类型的示例。

x = 'TutorialsPoint'
print(set(x))

输出

以下是上述代码的输出结果:

{'r', 'a', 'i', 'o', 's', 'n', 't', 'u', 'T', 'l', 'P'}

list()

这个函数通过将任何数据类型转换为列表类型来创建一个列表对象。列表对象是可变和有序的。list()的语法为list(参数),而列表以[‘one’,2,‘three’]表示。参数可以是序列(字符串、元组)、集合(集合、字典)或迭代器对象,是可选的。

示例

下面是列表数据类型的一个示例:

x = 'TutorialsPoint'
print(list(x))

输出

以下是上面代码的输出结果

['T', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'P', 'o', 'i', 'n', 't']

Str()

它用于将整数转换为字符串。在将各种数据类型的值与字符串数据类型值组合时,通常使用该函数。str()函数的语法是 str(参数)。

示例

以下是str数据类型的示例 –

x = 39
y = 489.28
z = complex(39,4)
print(str(x))
print(str(y))
print(str(z))

输出

以下是上述代码的输出-

39
489.28
(39+4j)

dict()

使用此方法可以从一个键值对元组来创建一个字典。通过构造函数dict()来创建字典。如果没有提供参数,将创建一个空字典。其语法如下: dict(参数), 其中参数是可选的。如果没有提供参数,则创建一个空的字典对象,并且如果给定了参数,则将参数转换为字典格式。

示例

以下是dict数据类型的示例:

x = (('s', 6), ('a', 3), ('r', 5), ('i', 8), ('k', 1))
print(dict(x))

输出

以下是上面代码的输出-

{'s': 6, 'a': 3, 'r': 5, 'i': 8, 'k': 1}

Chr()

此函数将数字转换为其ASCII字符等价物。 chr()函数的语法是chr(number),需要一个整数。而且,如果您传递一个超出范围的整数,该方法将返回一个ValueError。

示例

以下是chr数据类型的示例:

x = 437
y = 57
print(chr(x), "type is", type(chr(x)))
print(chr(y), "type is", type(chr(y)))

输出

以下是以上代码的输出结果:

Ƶ type is <class 'str'>
9 type is <class 'str'>

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程