1. HOME»
  2. Python入門»
  3. 変数の型について

変数の型について

データには型《かた》というものがある、ということを、「データ型」の項目《こうもく》で紹介《しょうかい》しました。
変数《へんすう》にデータを覚《おぼ》えておいてもらうとき、このデータ型《かた》を、(少しは)意識《いしき》する必要《ひつよう》があります。

今回は、変数の型について、学《まな》んでいきましょう。

目次
  1. Pythonにおける変数の型について
  2. 変数の型を意識したいところ

Pythonにおける変数の型について

Python《パイソン》でないプログラミング言語《げんご》の場合《ばあい》だと、最初《さいしょ》に変数《へんすう》の型《かた》を決《き》めてしまわなくてはいけないものもあります。

しかしPythonでは、変数にデータを覚《おぼ》えておいてもらったときや、変更《へんこう》されたときなどに、自動的《じどうてき》に型《かた》が決《き》まりますので、変数の型をあまり意識《いしき》することなく、プログラミングを行なうことができます。

number = 123  # int型(数値)
string = 'abc'  # str型(文字列)

ただ、まったく意識していないと、エラーが発生《はっせい》してしまったりするので、注意《ちゅうい》が必要《ひつよう》です。

また、同《おな》じ変数でも、あとから別《べつ》の型のデータを覚え直《なお》してもらったときは、型が変《か》わります。
たとえば、変数aに「123」を覚えてもらったときaはint型になりますが、そのあとに「'123'」を覚え直してもらったときは、str型になります。

a = 123  # int型(数値)
a = '123'  # str型(文字列)

変数の型を意識したいところ

Python《パイソン》では、変数《へんすう》の型《かた》をそれほど意識《いしき》しなくてもプログラミングができるのですが、まったく意識していないと、それが原因《げんいん》でバグが発生《はっせい》してしまうことがあります。

では、どういったところで、変数の型を意識すればいいのでしょうか。

1番多くであう意識したいところは、変数を使った計算《けいさん》(演算《えんざん》)のときだと思います。
演算については、もう少し先で学《なま》ぼうと思っているのですが、ここでちょっとだけ紹介《しょうかい》します。

たとえば、int型のデータを代入した変数と、str型のデータを代入した変数を、足《た》し算《ざん》してしまうと、エラーになります。(足し算は、3行目のprint()のなかで行《おこ》なっています)

number = 111
string = '222'
print(number + string)

実行結果《じっこうけっか》(エラー)

TypeError: unsupported operand type(s) for +: 'int' and 'str'

上の例《れい》は、数値《すうち》と文字列《もじれつ》を足《た》そうとしたためにおきたエラーです。

また、型が違《ちが》うことで、不思議《ふしぎ》なことがおきてしまう場合があります。
たとえば、こんなふうにしてみたらどうでしょうか。

number = 111
is_cat = True
print(number + is_cat)

実行結果

112

上の例は、int型にbool型を足してみたものです。
111にTrueを足すって、意味《いみ》が分《わ》かりません。
しかし、おどろくことに、「112」という結果《けっか》になりました。

「はい」を表《あらわ》すはずのTrueですが、実《じつ》は1と同《おな》じ意味を持《も》っています。
また、「いいえ」を表すFalseは、実は0と同じ意味を持っています。

なんだか分からなくなってしまいそうですが、これをちゃんと理解《りかい》していると、のちのちプログラミングをしていく上で便利《べんり》に使うことができるようになります。
しかし、これを知らないと、この不思議な動きに戸惑《とまど》ってしまったり、バグが発生してしまったりすることも考えられます。

こういった、型の違いによっておこってしまうミスは、変数の名前をしっかりと考えることで防《ふせ》ぐことができます。

オリジナルゲーム.com