python データ 型/一覧の種類の解説の変換のデータ型

Pythonのデータ型

Pythonのデータ型
Pythonでは、以下のようなデータ型を用いることができます。

int(整数)、float(浮動小数点)、str(文字列)、bool(真偽値)、list(リスト)、tuple(タプル)、dict(辞書)、set(セット)。

各データ型には異なる型を持っており、プログラミングで役立つように設計されています。
したがって、プログラムを実行するには、自分が使いたいデータ型を適切に選択することが重要となります。

Pythonのデータ型

Pythonでは、以下のデータ型が定義されています。

  • 数値型
    • int: 整数
    • float: 浮動小数点
    • complex: 複素数
  • 文字列型
    • str: 文字列
  • ブール型
    • bool: 真偽値
  • コンテナ型
    • list: リスト
    • tuple: タプル
    • dict: 辞書
    • set: 集合

数値型は、整数、浮動小数点、複素数の3種類があります。

整数は、正の数、負の数、0を表すことができます。

浮動小数点は、小数点を含む数を表すことができます。

複素数は、実数と虚数を含む数を表すことができます。

文字列型は、文字の並びを表すことができます。

ブール型は、真と偽を表すことができます。

コンテナ型は、複数のデータをまとめて扱うことができるデータ型です。

リストは、順序付きのデータを扱うことができます。

タプルは、変更できないリストです。

辞書は、キーと値の組でデータを扱うことができます。

集合は、重複しないデータを扱うことができます。

Pythonでは、変数にデータを代入するときに、データ型を指定する必要はありません。

Pythonが、代入された値からデータ型を自動的に判断します。

ただし、データ型を明示的に指定することで、コードの可読性を向上させることができます。

また、データ型を指定することで、型変換を明示的に行うことができます。

例えば、以下のコードは、整数を文字列に変換します。

x = 10

# 明示的に型変換する
str_x = str(x)

print(str_x)

このコードは、以下の出力を生成します。

10

Pythonのデータ型の変換

Pythonでは様々なデータ型があり、必要に応じて型変換を行うことができます。主なデータ型の変換方法は以下の通りです。

数値型から文字列型への変換

数値型(int, float)を文字列型(str)に変換するには、 str()関数を使用します。

関連 python int tostring/数値を文字列に変換

```python
n = 100
s = str(n)
print(type(s), ':', s) # <class 'str'> : 100

n = 1.23 
s = str(n)
print(type(s), ':', s) # <class 'str'> : 1.23
```

また、2進数、8進数、16進数の文字列表記に変換するには、それぞれ bin(), oct(), hex()関数が使えます。

```python
n = 100
s = bin(n) # 2進数表記の文字列に変換
print(s) # 0b1100100

s = oct(n) # 8進数表記の文字列に変換 
print(s) # 0o144

s = hex(n) # 16進数表記の文字列に変換
print(s) # 0x64
```

文字列型から数値型への変換

文字列型を整数型(int)や浮動小数点型(float)に変換するには、それぞれ int(), float()関数を使います。

関連 stringをintに(python)/数字の型変換の変換

```python
s = '100'
n = int(s)
print(type(n), ':', n) # <class 'int'> : 100

s = '1.23'
n = float(s) 
print(type(n), ':', n) # <class 'float'> : 1.23
```

リストとタプルの相互変換

リスト(list)をタプル(tuple)に変換するには tuple()関数を、逆にタプルをリストに変換するには list()関数を使います。

関連 Pythonのlist メソッド一覧 操作方法の入門

```python
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
print(my_tuple) # (1, 2, 3)

my_tuple = (4, 5, 6)
my_list = list(my_tuple) 
print(my_list) # [4, 5, 6]
```

NumPyのデータ型変換

NumPyの配列ndarrayのデータ型dtypeは、 astype()メソッドで変換できます。引数には型オブジェクト(np.int64など)、型名(’int64’など)、型コード(’i8’など)を指定できます。

```python
import numpy as np

a = np.array([1, 2, 3], dtype=np.int32)
print(a.dtype) # int32

a = a.astype(np.int64) 
print(a.dtype) # int64
```

pandasのデータ型変換

pandasのDataFrameやSeriesのデータ型dtypeも、 astype()メソッドで変換可能です。引数の指定方法はNumPyと同様です。

関連 pythonのpandasの使い方

```python
import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3]}, dtype='int64') 
print(df.dtypes) # A int64

df['A'] = df['A'].astype('float64')
print(df.dtypes) # A float64 
```

以上のように、Pythonではデータ型に合わせた適切な変換関数、メソッドを使うことで柔軟に型変換ができます。