
理系さん
前回は変数と代入について扱いました。
今回は『データ型』について解説します。
データ型
次のように入力すると、「左辺の変数」xに「右辺の値」3を代入できることを前回解説しました。
x=3
ここで、右辺の値には『数値』や『文字列』などいくつかの種類が存在し、これをデータ型と呼びます。
pythonでは次のような7種類のデータ型が存在します。
データ型 | 説明 | 例 |
---|---|---|
整数(int) | 小数を含まない数値。 | x=3 |
浮動小数点(float) | 少数を含む数値。 | x=4.65 |
文字列(str) | 文字の集まり。ダブルクオーテーション””で囲む。 | x=”りんご” y=”apple” |
ブール(bool) | TrueかFalseの二択。(○と×に対応する。) | x=True y=False |
配列(list) | 複数の値を格納できる。[ ]で囲み、カンマで区切る。 | x=[“りんご”,”みかん”,”ぶどう”] |
タプル(tuple) | 複数の値を格納できる。( )で囲み、カンマで区切る。 listと違って値の変更ができないが、listよりも処理が早い。 | x=(“りんご”,”みかん”,”ぶどう”) |
辞書(dictionary) | 複数の値を格納できる。{ }で囲み、カンマで区切る。 それぞれの値の前にはコロンを使ってキー(鍵)をつけることができ、キーを使って値を参照することができる。 | x={“1番”:”りんご”, “2番”:”みかん”, “3番”:”ぶどう”} |
データ型の注意
プログラミングでは次のように代入のタイミングで右辺を計算することが可能です。
・整数と整数の足し算
x=3+6
print(x)
9
・文字列と文字列の足し算
x="りんご"+"あめ"
print(x)
りんごあめ
しかし次のように異なるデータ型の足し算は基本的にできないことになっています。
・整数と文字列の足し算
x=3+"りんご"
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-1-24d251949e89> in <module>
----> 1 x=3+"りんご"
TypeError: unsupported operand type(s) for +: 'int' and 'str'
このように、エラーが出てしまいます。
データ型の確認方法
値のデータ型を確認するにはtype()関数を使います。
x="りんご"
type=type(x)
print(type)
<class 'str'>
二行目ではtype()関数でxのデータ型を判別し、その結果を左辺のtypeという変数に代入しています。
print()関数でtypeの中身を確認してみると、出力結果には文字列を表すstrが表示されました。
データ型の変換
プログラムを組んでいると、データ型を変更したい時が出てくるかもしれません。
例えば次のプログラム、xは6.0という整数ですが、データ型としてはfloat、つまり浮動小数点として認識されています。(xへの代入の際、右辺が浮動小数点同士の足し算だから)
x=3.6+2.4
t=type(x)
print(t)
<class 'float'>
ここで、例えばxのデータ型をint、つまり整数に変換したければint()関数を使います。
y=int(x)
print(type(y))
<class 'int'>
int()関数を使うと、引数を整数として扱ったものを返り値として出力します。
今回では一行目を実行した段階でyの値は整数としての6ということですね。type(y)でyのデータ型を読み取ってみると、きちんとintになっていることがわかります。
※返り値については次回、関数と返り値にて扱います。
コメント