English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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('バイナリ値') 56 is: ' + str(bin(56))

出力結果

「G」のASCII値は: 71
16進値 254 is: 0xfe
オクタル値 62 is: 0o76
バイナリ値 56 is: 0b111000

コンテナの変換

Pythonには、リスト、タプル、セットなど、さまざまなコンテナタイプのオブジェクトがあります。これらのコンテナを一つのタイプから別のタイプに変換することができます。list()tuple()set()など。

サンプルコード

my_list = [10, 20, 30, 40, 50]
my_set = {10, 10, 20, 30, 20, 50, 20}
print('リストからタプルへ: ' + str(tuple(my_list)))
print('リストからセットへ: ' + str(set(my_list)))
print('セットからリストへ: ' + str(list(my_set)))

出力結果

リストからタプルへ: (10, 20, 30, 40, 50)
リストからセットへ: {40, 10, 50, 20, 30}
セットからリストへ: [10, 20, 50, 30]

複素数

Pythonでは、複素数クラスがあります。この方法で、2つの整数(実部と虚部)を複素数に変換できます。

サンプルコード

my_complex = complex(10, 5) #複素数に変換
print(my_complex)

出力結果

(10+5j)

タプルからディクショナリ

タプルはPythonで最も重要なコンテナの1つです。タプルを使用して、いくつかの順序データを格納できます。Pythonでは、2つの値を持つタプル型オブジェクトをディクショナリオブジェクトに変換できます。この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}
おすすめ