Python中的类型转换

使用Python,我们可以轻松地将数据转换成不同的类型。类型转换有不同的功能。我们可以将字符串类型的对象转换为数值,在不同的容器类型之间执行转换等。

在本节中,我们将看到如何使用Python完成转换。

将字符串转换为数值类型

要将String类型的对象转换为Numeric对象,可以使用int()float()等不同的方法。使用该int()方法,我们可以将任意数字转换为字符串(以10为底)。它使用字符串类型参数,默认基数为10,我们也可以指定基数,以从该基数的字符串转换为十进制数。

类似地,使用该float()方法,可以将包含十进制形式的值的一个字符串转换为float。

范例程式码

str_number = '56'
print(int(str_number))    #default base is 10
print(int(str_number, 16))    #From Hexadecimal
print(int(str_number, 12))    #From a number where base is 12
str_number = '25.897'
print(float(str_number))    #convert string to floating point value

输出结果

56
86
66
25.897

字符串到字符转换和基数转换

众所周知,字符串是字符的集合。但是在Python中,我们无法直接获取字符的ASCII值。我们需要使用该ord()方法将字符转换为其ASCII值。

还有另外一些方法,如hex()ord()bin()转换十进制数为十六进制,八进制,二进制分别编号。

范例程式码

print('ASCII value of "G" is: ' + str(ord('G')))
print('Hexadecimal value of 254 is: ' + str(hex(254)))
print('Octal value of 62 is: ' + str(oct(62)))
print('Binary value of 56 is: ' + str(bin(56)))

输出结果

ASCII value of "G" is: 71
Hexadecimal value of 254 is: 0xfe
Octal value of 62 is: 0o76
Binary value of 56 is: 0b111000

转换容器

在Python中,有像列表,元组,集合等不同的容器类型对象我们可以通过改变一种类型的容器为另一种类型的容器list()tuple()set()等。

范例程式码

my_list = [10, 20, 30, 40, 50]
my_set = {10, 10, 20, 30, 20, 50, 20}
print('From list to tuple: ' + str(tuple(my_list)))
print('From list to set: ' + str(set(my_list)))
print('From set to list: ' + str(list(my_set)))

输出结果

From list to tuple: (10, 20, 30, 40, 50)
From list to set: {40, 10, 50, 20, 30}
From set to list: [10, 20, 50, 30]

复数

在Python中,有复数类。因此,使用此方法,我们可以将两个整数(实部和虚部)转换为复数。

范例程式码

my_complex = complex(10, 5) #convert to complex number
print(my_complex)

输出结果

(10+5j)

元组到字典

元组是Python中最重要的容器之一。使用元组,我们可以存储一些有序数据。在Python中,我们可以将具有两个值的Tuple类型对象转换为字典对象。该dict()方法可以进行转换。

范例程式码

my_tuples = (('Tiger', 4), ('Cat', 6), ('Dog', 8), ('Elephant', 10))
my_dict = dict(my_tuples)
print(my_dict)

输出结果

{'Tiger': 4, 'Elephant': 10, 'Dog': 8, 'Cat': 6}