Contents
Pythonのデータ型について学ぼう
今回は、Pythonの組み込みデータ型について学びます。
データ型は、しっかりと理解しておかないと、あとで混乱してしまいますので、しっかりと理解しておきましょう。
Pythonのデータ型
プログラムでは、たくさんのデータを扱いますが、データにはいくつかの種類があります。
数を数えたり、金額を計算するときには数値データを使います。
人の名前は文章を扱うときには文字列データを使います。
このようにデータの種類を分類したものをデータ型と言います。
ちなみに、今はまだ気にしなくてもいいのですが、Pythonでは全てのデータをオブジェクトとして扱うので、データ型はオブジェクトの種類を表していることになります。
Pythonでは、数値や文字列のようによく使うものについては、組み込み型としてあらかじめ用意しています。
したがって、数値や文字列などは、特別な宣言や命令なしに、すぐに利用することができます。
Pythonのメソッド
Pythonでは、数値や文字列のような組み込み型で、よく利用されるメソッドがあらかじめ用意されています。
メソッドを利用することで、簡単にデータ処理を行うことができます。
メソッドについては、後で詳しく解説しますが、ここで、簡単なメソッドを一度使ってみましょう。
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def main():
a = "abcdefg"
a = a.replace("a", "x")
print(a)
if __name__ == '__main__':
main()
これを実行すると、xbcdefgと表示されます。
文字列abcdefのaがxに置き換えられています。
このようにPythonではメソッドを使うときは、.(ピリオド)を付けて、その後ろのメソッド名を書きます。
repolaceメソッドの場合、2つの引数を取り、1つ目に置き換え前の文字列、2つ目に置き換え後の文字列を入力します。
メソッドについては、また後ほど解説しますので、今は気にしなくても大丈夫です。
データ型の種類
Pythonのデータ型は以下の種類があります。それぞれの型についてはまた後ほど解説しますので、今が詳細については分からなくても大丈夫です。
数値
数を表現するための利用するデータです。数値の精度によって、整数型、浮動小数点型に分かれています。
e.g.5、3.14
文字列
文字を並べたテキストデータです。
e.g.”abc”、’Hello, World!’
リスト
複数の要素を順番に並べて格納するためのデータ型です。Pythonのリストは、数値、文字列、リストなど様々な型のオブジェクトを格納することができます。インデックスを使ってリストの要素にアクセスすることができます。
e.g.[1, 2, 3]、[“abc”, 5, [“def”, “ghi”]]
タプル
リストと同じように、複数の要素を順番に並べて格納するためのデータ型です。要素の追加や変更ができないのがリストと異なる点です。
e.g.(1, 2, 3)、(“abc”, 3, “def”)
辞書(ディクショナリ)
リストと同じように、複数の要素を格納するためのデータ型です。要素を順番で管理する代わりにキーを使います。要素にはキーを使ってアクセスできます。
e.g.{“apple”:”リンゴ”, “orange”:”ミカン”}
bool型
bool型は真偽を判定するためのデータ型です。
bool型にはTrueとFalseの2種類しかありません。
e.g.True
set型
set型は重複しない要素の集合体を表すデータ型で、和集合、積集合、差集合などの集合演算を行うことができます。
e.g.{1, 2, 3, 3, 1, 4}
データ型の調べ方
Pythonでは、type関数を使うと、ある変数のデータ型なんなのかを調べることができます。
例えば、以下のコードを実行してみましょう。
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def main():
a = "abc"
print (type(a))
if __name__ == '__main__':
main()
これを実行すると、<class ‘str’>と表示され、変数aが文字列型であることが分かります。
同じように、以下のコードを実行して全てのデータ型を表示してみましょう。
#!/usr/bin/env python
#-*- coding: utf-8 -*-
def main():
a = "abc"
print (type(a))
b = 5
print (type(b))
c = 3.5
print (type(c))
d = [1, "abc", [1, 2, 3]]
print (type(d))
e = (1, 2, 3, "abc")
print (type(e))
f = {"apple":"リンゴ", "orange":"ミカン"}
print (type(f))
g = True
print (type(g))
h = {1, 2, 3, 3, 1, 4}
print (type(h))
if __name__ == '__main__':
main()
これを実行すると以下のように表示されます。
<class 'str'>
<class 'int'>
<class 'float'>
<class 'list'>
<class 'tuple'>
<class 'dict'>
<class 'bool'>
<class 'set'>
それぞれ、文字列型、整数型、浮動小数点型、リスト型、タプル型、辞書型、bool型、set型になっていることが分かります。
プログラムが複雑になってくると、各変数の型が何かわからなくなってきて、異なる型どうしで計算したりしてエラーが出てしまうことがよくあります。
そういう場合は、type関数で変数の型を調べると解決することができます。
まとめ
C言語などは、変数にデータ型を宣言したり面倒なことをしなければならないのですが、Pythonは動的にデータ型が決まるため、宣言が必要ありません。
このように、同じ動きをするプログラムを作るにしても、Pythonは書く分量が少なくてすみます。
これは開発効率の向上にも直結しますので、大きなメリットになります。
データ型については、今回の解説だけでは難しいこともあるので、これから少しずつ説明していきます。
まずは、Pythonには、データ型というのがあって、それぞれどのような特徴があるのかを覚えておいて下さい。