Python 类型转换
类型转换是指将一个Py类型的数据转换为另一个类型的数据。隐式类型转换和显式类型转换是Python中类型转换程序的两个基本类别。
Python有类型转换程序,可以将一种数据类型直接转换为另一种。这对于常规编程和竞争性编程都很有帮助。本页旨在启迪读者了解具体的转换函数。
在 Python 中,有两种类型转换。
- 显式类型转换-程序员必须手动执行这项任务。
- 隐式类型转换-由 Python 程序自动完成。
隐式类型转换
隐式字符数据转换是Python中使用的术语,当数据类型转换发生时,无论是在编译期间还是在运行期间。我们不需要手动将文件格式改为其他类型的数据,因为 Python 执行了隐式字符数据转换。在整个教程中,我们已经看到了许多这种数据类型转换的例子。
在没有用户输入的情况下,编程语言在数据类型的隐性转换中自动将一种数据类型变为另一种。
x = 20
print("x type:",type(x)
y = 0.6
print("y type:",type(y))
a = x + y
print(a)
print("z type:",type(z))
输出
x type: <class 'int'>
y type: <class 'float' >20.6
a type: <class 'float'>
我们可以看到,虽然一个变量x只是整数类型,另一个变量y是浮动类型,但 “z “的数据类型被自动转换为 “浮动 “类型。由于类型推广,它可以在不损失任何信息的情况下,通过将原始数据转化为更大的数据类型来进行操作,而浮动值反而没有被转化为整数。这是Python的隐式类型转换的一个直接的例子。
结果变量被改成了浮点数数据集,而不是int数据类型,因为这样做会要求编译器消除小数元素,这将导致数据丢失。为了防止数据丢失,Python 总是将较小的数据类型翻译成较大的数据类型。
如果变量百分比的数据类型是整数,我们可能会丢失报告中的小数部分。Python会自动将百分比数据转换为可以存储小数的float类型,以防止这种数据丢失。
明确的类型转换
假设我们想把一个数字从一个较高的数据类型改为一个较低的数据类型。在这种情况下,隐式类型转换是无效的,正如我们在上一节所观察到的。显式类型转换,通常被称为类型转换,现在要来拯救这一天了。使用内置的Language函数,如str()转换为字符串形式,int()转换为整数类型,程序员可以通过手动改变对象的数据形式来明确地改变它。
用户可以根据自己的需要在Python的显式类型转换中显式地改变数据类型。由于在进行显式类型转换时,我们不得不将一个表达式改变成某种数据类型,所以有可能会出现数据丢失。下面是几个显式类型转换的例子。
- 函数int(a, base)将任何数据类型转换为一个整数。如果数据类型是字符串,”Base “定义了字符串所在的基数。
- float()。你可以用这个函数把任何数据类型变成一个浮点数。
# Python code to show type conversion
# Initializing string with int() and float()
a = "10010"
# # outputting string to int base 2 conversion.
b = int(a,2)
print ("following the conversion to integer base 2: ", end="")
print (r)
# printing a float after converting a string
d = float(a)
print ("After converting to float : ", end="")
print (d)
输出
following the conversion to integer base 2: 18
After converting to float : 1010.0
3.ord()方法将一个字符变成一个整数。
4.4. hex()方法将一个整数变成一个十六进制的字符串。
5.oct()方法将一个整数变成一个八进制的字符串。
# Python code to show type conversion
# initialising integer
# using ord(), hex(), and oct()
a = '4'
# printing and converting a character to an integer
b = ord(a)
print ("After converting character into integer : ",end="")
print (b)
# printing integer converting to hexadecimal string
b = hex(56)
print ("After converting 56 to hexadecimal string : ",end="")
print (b)
# printing the integer converting into octal string
b = oct(56)
print ("After converting 56 into octal string : ",end="")
print (b)
输出
After converting the character into integer : 52
After converting the 56 to hexadecimal string : 0x38
After converting the 56 into octal string : 0o70
6.tuple()方法用于将数据转化为一个元组。
7.set()函数,将一个类型转换为一个集合,并返回该集合。
8.8. list()函数将任何数据类型转换为列表类型。
# Python code to show type conversion
# Initializing string with tuple(), set(), and list()
a = 'java'
# printing string into converting to tuple
b = tuple(a)
print ("After converting the string to tuple : ",end="")
print (b)
# printing string the converting to set
b = set(a)
print ("After converting the string to set : ",end="")
print (b)
# printing the string converting to list
b = list(a)
print ("After converting the string to list : ",end="")
print (b)
输出
After converting the string to tuple : ('j', 'a', 'v', 'a')
After converting the string to set : {'j', 'a', 'v', 'a'}
After converting the string the to list : ['j', 'a', 'v', 'a']