COLUMN
組み込みエンジニアの戸惑い Pythonのデータ型をまとめる
組み込みソフトウェアエンジニアがPythonを始めてみました。そして、第2の戸惑い。今回はPythonのデータ型についてまとめていきたいと思います。
データ型をざっくり
様々な括弧で値が囲われ、代入しようとすると、代入できない、、、どうなっているんだPython!?!?という恥ずかしめを受け、コードを書く前にどんなデータ型があるのか?ぐらいは確認しておかないとね、という状況に陥ります。
そこで、今回はPythonのデータ型にどのようなものがあるのかをざっくりとご紹介します。それぞれの使用方法などはまた今後掲載予定の別コラムにて随時ご紹介していきたいと思います。
主なデータ型
・int(整数型)
・float(浮動小数点型)
・str(文字列型)
・bool(ブール型)
・list(リスト)
・tuple(タプル)
・dict(辞書)
・set(集合)
・bytes(バイナリ)
・bytearray(バイナリ)
・array(配列)
・numpy.ndarray(多次元配列)
変更不可?変更可?
前回の「組み込みエンジニアの戸惑い:Pythonの変数ってポインタ?」で説明した通り、既に値が格納された変数に、再度値を代入しようとするとそれは別の変数として扱われます。これをimmutable(変更不可)と言うのですが、上で述べた主なデータ型の中には同じ変数として扱われるmutable(変更可)と言うものも実は存在します。代表的なものとしてはlist(リスト)があげられるのですが、このような違いを認識した上でそれぞれのデータ型を理解してコーディングすると戸惑いポイントが少し減るかもしれません。
それでは、それぞれのデータ型を見てみましょう。
int(整数型)
変更可否:immutable
整数(小数点を含まない0や、正の数、負の数)
例)x = 10
float(浮動小数点型)
変更可否:immutable
小数点数(小数点を含む0.0や、正の数、負の数)
例)x = 10.5
str(文字列型)
変更可否:immutable
‘ ’(シングルクォーテーション)、“ ” (ダブルクォーテーション)で囲んだ文字列
例)x = ‘abc’
例)x = “abc”
bool(ブール型)
変更可否:immutable
True (1) または False (0)
例)x = True
list(リスト)
変更可否:mutable
[ ] を使って定義
例)x = [ 10, ‘abc’, True ]
tuple(タプル)
変更可否:immutable
() を使って定義
例)x = ( 12, 34, 56 )
dict(辞書)
変更可否:mutable
{} を使って定義
例)x = { “a”:1, “b”:2, “c”:3 }
set(集合)
変更可否:mutable
set関数を使用して定義
例)x = set( [1, 2, 3] )
bytes(バイナリ)
変更可否:immutable
bytes関数を使用して定義
例)x = bytes( b’abc’ )
bytearray(バイナリ)
変更可否:mutable
bytearray関数を使用して定義
例)x = bytearray( b’abc’ )
array(配列)
変更可否:mutable
arrayモジュールをimportし、array関数を使用して型コードと共に定義
例)x = array.array( ‘i’, [1, 2, 3] )
numpy.ndarray(多次元配列)
変更可否:mutable
numpyモジュールをimportし、array関数を使用して定義
例)x = numpy.array([1, 2, 3], [4, 5, 6])
それぞれの意味や使用方法は次回以降にご紹介していきますが、まずは括弧による戸惑いポイントがあることを認識し、括弧に振り回されないようにご注意ください。
次回、「Pythonでバイナリデータをあつかう」の巻。
<関連サービス>
富士ソフト 組み込み開発力
https://www.fsi-embedded.jp/technology/
個別相談も承っております。下記よりお申し込みください。