Python 中的不同数据类型转换方法是什么?

Python 中的不同数据类型转换方法是什么?

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

本文将涵盖以下主题:

  • 隐式类型转换 在 Python 中由 Python 解释器自动执行。

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

让我们更深入地学习这两种方法,并且带一些图示来说明。

更多Python相关文章,请阅读:Python 教程

隐式类型转换

隐式类型转换是指 Python 解释器在程序员不进行干预的情况下自动更改对象的数据类型。为了避免运行时数据丢失,较小的数据类型会被转换成较高的数据类型。

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

注意 :高级语言由解释器转换为计算机可理解的语言。每条代码行在执行之前都会逐个被解释器读取。

示例

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

a = 13
print("变量 a 的数据类型是:", type(a))
b = 6.9
print("变量 b 的数据类型是:", type(b))
a = a - b
print("\na 的值现在是:", a)
print("*已更新变量 a 的数据类型为:", type(a))

输出

如上面的示例所示,变量 a 最初是 int 类型,而变量 b 是 float 类型。在求和过程和将结果存储到变量 “a” 中后,“a”的数据类型会自动更改为 float 数据类型。这就是 Python 编程语言中的隐式类型转换。

变量 a 的数据类型是: 
变量 b 的数据类型是: 

a 的值现在是: 6.1
*已更新变量 a 的数据类型为: 

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

显式类型转换

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

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

当程序员明确地规定程序时,执行显式类型转换。Python 包含许多内置函数来进行显式形式转换。

注意 :当我们通过显式类型转换将给定值强制转换为较小的数据类型时,可能会发生数据丢失。例如,在将 float 值转换为 int 时,输出中会舍入小数位数。

语法

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

(所需数据类型)(表达式)

示例

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

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

输出结果

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

因此,为了完成此过程,我们必须使用显式转换。”b”在转换为整数后添加到”a”后面。输出显示为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) 其中”variable”是一个字符串,而”base”指定字符串所在的基数,当字符串是数据类型时。

举例

以下是int数据类型的一个例子 –

a="58"
print("在转换之前,变量a的数据类型为:" ,type(a))
number=int(a)
print("\n在转换之后,变量a的数据类型为:" ,type(number))

输出结果

以下是上述代码的输出 –

在转换之前,变量a的数据类型为:<class 'str'>

在转换之后,变量a的数据类型为:<class 'int'>

float()

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

举例

以下是浮点型数据的一个例子 –

a="84"
print("在转换之前,变量a的数据类型是:%s,其值是:%s "%(type(a),a))
number=float(a)
print("\n在转换之后,变量a的数据类型是:%s,其值是:%s "%(type(number),number))

输出结果

以下是上述代码的输出 –

在转换之前,变量a的数据类型是:,其值是:84 
在转换之后,变量a的数据类型是:,其值是: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(parameter)。

示例

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

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

输出

以下是上面代码的输出

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

Oct()

使用此函数将整数转换为八进制。此函数的返回值仅接受整数数据类型作为参数,返回的是八进制值。oct的函数语法为 oct(argument)。

示例

以下是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”)。“元组”表示一组不可更改和有序的值(即不可变)。

示例

以下是tuple数据类型的示例

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

输出

以下是上面代码的输出

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

Set()

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

示例

以下是set数据类型的示例

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

输出

以下是上面代码的输出

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

List()

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

示例

以下是列表数据类型的示例:

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

输出

以下是上述代码的输出:

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

Str()

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

示例

以下是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()

通过一个键值对(key,value)元组创建字典。字典由构造函数dict()创建。这意味着如果未提供参数,则创建一个空字典。其语法为 dict(parameter) ,其中参数是可选的。如果未提供参数,则创建一个空字典对象;如果提供了参数,则将该参数转换为字典格式。

示例

以下是字典数据类型的示例:

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程