pythonデータ型の種類と使用例を用いた使い方を解説します。
データ型の「型」とは、文字列だったり整数だったり少数だったりするものをしっかり分けて分類するものを「型」と考えてください。
代表的なデータ型の8つは以下の通りです。
- int型(整数型)
- float型(小数型)
- str型(文字列型)
- bool型(真偽型)
- list型(リスト型)
- tuple型(タプル型)
- set型(集合型)
- dict型(辞書型)
余裕のある方は以下の2つも覚えておくと良いです。
- datetime型(日付型)
- Nonetype型(None値)
ここではpythonで使われるデーター型の解説と使い方について解説します。
pythonの代表的なデータ型
int型(整数型)
int形は整数を扱う型です。(intはinteger(整数)の略です。)
扱う数値は0を含む正の数・負の数(1,10,-1,-10)等を扱いますが、小数点は扱うことはできません。
int型の使用例
みんな大好き「うまい棒(1個10円)」があるとします。
「1個10円」を整数型10とし、変数名「umaibo」とします。
>>> umaibo = 10
>>> umaibo * 10
>>> 100
あら素敵。10本かっても100円です。
float型(小数型)
float型は小数点の数値を扱います。
(浮動小数点の浮くがfloatです。浮動小数点についてはいずれ・・・)
小数点入りの数値をかくと、そのデータはfloat型となります。
0.5も10.5も-0.5も-10.5もfloat型ですが、10.0と書いても小数点があればfloat型です。
float型の使用例
うまい棒の長さは12.5cmです。
「1本12.5cm」を小数型12.5とし、変数名「umaibo_length」とします。
>>> umaibo_length = 12.5
>>> umaibo_length * 15
>>> 187.5
わお!うまい棒15本で私の身長を余裕で上回ります。
うまい棒、偉大!
str型(文字列型)
str型は文字列を扱います。(strは文字列(character string)のstringを省略したものです。)
シングルクオーテーションやダブルクオーテーションで囲むとstr型となります。
str型として代入された文字や記号、数値も全て文字列として扱われます。
str型の使用例
>>> 'うまい棒の英訳はDelicious stickです。'
>>> 'うまい棒の英訳はDelicious stickです。'
Delicious stickはラグジュアリーですね。
叶姉妹が喜びそうです。
str型は数値も文字列となりますので、数値として扱う事が出来ないため、計算はできません。
# int型の場合は10+10=20になる
>>> umaibo = 10
>>> umaibo + umaibo
>>> 20
# str型の場合は文字列の結合となる
>>> umaibo = '10'
>>> umaibo + umaibo
>>> 1010
bool型(真偽型)
bool型は真偽値を扱います。条件が成立するときは「True」、成立しないときは「False」となります。
bool型の使用例
# 10が1より大きい
>>> 10 > 1
>>> True
# 10が1より小さい
>>> 10 < 1
>>> False
list型(リスト型)
リスト型は数値や文字列などを並べて格納できるデータ型です。
記述は、それぞれの要素をカンマ(,)で区切って、全体を角括弧([])で囲って記述します。
中に格納できる要素に制限はありませんので、整数値や文字列などを入れる事が出来ます。
リストはロッカーのようなもので1つ1つに番号が付記されているようなものと考えてください。
リスト型の番号は0から始まるので覚えておきましょう。
list型の使用例
# うまい棒(Delicious_stick)のリストを作り、最初に記述したチーズ味を表示する
>>> Delicious_stick = ['チーズ味','明太子味',10]
# 作成したリストから値を取り出すときは角括弧([])つかって番号をしていします。
>>> Delicious_stick[0]
>>> 'チーズ味'
list型は、実際の現場でよく使われる型で非常に便利です。
tuple型(タプル型)
タプル型は、簡単に言えば要素の追加や削除ができないリスト型と考えてください。
タプルはそれぞれの要素をカンマ(,)で区切って、全体を丸括弧()で囲って記述します。
中に格納できる要素はリスト型と同様に制限はありませんので、整数値や文字列などを入れる事が出来ます。
tuple型の使用例
# うまい棒(Delicious_stick)のタプルを作り、3番目に記述した10を表示する
>>> Delicious_stick = ('チーズ味','明太子味',10)
# 作成したタプルから値を取り出すときは角括弧([])つかって番号を指定します。
>>> Delicious_stick[2]
>>> 10
set型(集合型)
リスト型と同じようにset型も複数の値を記録することが出来ます。
ただし、リスト型と異なり、順序をつけることが出来ません。さらに重複する値を持つことも出来ません。
記述は、それぞれの要素をカンマ(,)で区切って、全体を波括弧({})で囲うか、set()関数を使います。
set型の使用例
# うまい棒(Delicious_stick)の集合型を作る。
>>> Delicious_stick = {' チーズ味','明太子味','ピザ味'}
>>> Delicious_stick
{'明太子味', 'チーズ味', 'ピザ味'}
Delicious_stickを表示すると順番が変わっています。順番をつけることが出来ないので勝手にソート(昇順)されてしまうのです。
# 降順に数字を並べた集合型を作る。
>>> number = {3,2,1}
>>> number
{1, 2, 3}
やっぱり昇順にソートされますね。
また重複する値は無視されます。
# 重複する値を記述
>>> zakoshi = {'ハンマー','カンマー','ハンマー','カンマー'}
>>> zakoshi
{'カンマー', 'ハンマー'}
重複を無視し、さらにソートされて「’カンマー’, ‘ハンマー’」になってしまいました。
dict型(辞書型)
dict型は辞書を扱います。
キー(key)と値(value)をペアで保存し、キーを使って呼び出します。
記述の仕方は、キーと値をコロン(;)でつなげて一組とし、全体を{}で囲みます。
dict型の使用例
>>> Delicious_stick_code = {1:'チーズ味',10:'明太子味',15:'納豆味'}
# 呼び出し方は"変数名[キー]"で呼び出します。
>>> Delicious_stick_code[15]
>>> '納豆味'
dict型も実際の現場でよく使われる型で非常に便利です。
覚えておきたいデータ型
余裕のある方は、覚えておいて損はないデーター型を2つ紹介します。
datetime型(日付型)
datetime型は、日付・時刻を扱います。
Pythoにおいて日付や時刻を扱うときは、標準ライブラリにあるdatetimeモジュールを使います。
datetime型の使用例
>>> import datetime
>>> day = datetime.date(year=2019, month=10, day=21)
>>>print(day)
2019-10-21
組み込みのモジュールではないので、importを使ってモジュールを呼び出します。
詳しくは「Python:日付型(datetimeモジュール)の完全解説」で解説しています。
Nonetype型(「None」値)
他の言語で使われる「nullオブジェクト」は「何もない・空っぽ」の状態を表します。
Pythonにおいてnullオブジェクトに近い意味のものがNonetype型にある「None」値です。
実際にNone値を出現させてみましょう。
Nonetype型の出現例
>>> umaibo_dict = {"mentai":1,"piza":2,"sarada":3}
>>> print(umaibo_dict.get("mentai"))
1
>>> print(umaibo_dict.get("chees"))
None
まず最初に、「umaibo_dict」(辞書型)を作成した後に、getメソッドを使って「値」の「キー」を出力します。
「”mentai”」は「umaibo_dict」に存在しますので、「キー」の「1」を返します。
次に「”chees”」という名を指定しますが、mydict内には存在しないので、Noneと表示されました。
None値は条件式のis Noneで捕まえましょう。
「None値って何に使うの?」と思われる方もいるかと思います。
実は何に使うというより、プログラムを走らせると「None値」が発生してしまう事が多々あるのです。
例えば、webサイトをスクレイピングしていた時に、どのページにも記述されているh1タグが、たまたまそのページだけ存在しない時、取得できずにNone値を返します。
そのNone値を元に、更なる処理をしている場合、エラーが発生し、英文で烈火のごとくお説教されます。
そんな時は、条件式のis Noneを使ってエラーを回避しましょう。
条件式のis Noneの使い方
if x is None:
#「None」の時に実行したい処理
else
#「None」でない時に実行したい処理
まとめ
最後に、代表的なデータ型の7つをまとめて記述します。
代表的なデータ型
データ型 | 説明 | 記述方法 |
---|---|---|
int型(整数型) | 整数を扱う型 | umaibo = 10 |
float型(小数型) | 小数点の数値を扱う型 | umaibo_length = 12.5 |
str型(文字列型) | 文字列を扱う型 | umaibo = ‘棒はうまい’ |
bool型(真偽型) | 真偽値を扱う型 真は「True」。偽は「False」 |
>>> 10 > 1 >>> True >>> 10 < 1 >>> False |
list型(リスト型) | 配列を扱う型 | umaibo = [‘チーズ味’,’明太子味’,10] |
tuple型(タプル型) | 配列を扱う型 格納した各要素の変更は不可能。 |
umaibo = (‘チーズ味’,’明太子味’,10) |
set型(集合型) | 複数の値を扱う型 順序をつけることが出来ない。 |
umaibo = {‘チーズ味’,’明太子味’,’ピザ味’} |
dict型(辞書型) | キー(key)と値(value)をもつのが辞書型 keyvalueをペアで保存し、キーを使って呼び出す。 |
umaibo = 10 |