空飛ぶチンアナゴの統計解析日記

統計解析を嗜むチンアナゴのメモ帳です

本当に初心者が学んでほしいコードの話 〜その2 変数の型1〜

別にPythonのようなプログラミング言語に限らず、一般に使われているExcelのような表計算ソフトにおいても変数には『型』があります。
Excelであればなんとなしに使っている「標準」の他に「文字列」、「日付」といったものも立派な変数の型です。
今回から変数の型について説明していきます。

そもそも変数とは

一般にプログラムにおける変数とは『プログラム上のデータを格納する場所』のことを指します。
Excelであれば各セルが一つの変数です。
pythonだと

x = 1

のようにxという変数の名前xを宣言して、代入を意味する「=」を書き、その後、変数に格納する値「1」を宣言します。
この時「x」も「=」も「1」も全て半角数字です。全角文字は基本的には使いません。

基本のデータ型その1 〜数字型〜

とりあえず整数であるinteger(略してint)と小数であるfloatさえ覚えておけば最初はOKです。複素数型みたいなものもありますが、今は知らなくても大丈夫です。
細かいことは省きますが、プログラムの世界では整数と小数は区別します。
Pythonではintとfloatは四則演算出来ます。仮に整数同士で割り算をして小数点以下の値が出た場合でも、自動的にfloatとして扱ってくれます。この辺りはPythonの気楽なところです。
各種四則演算に対する数字の扱いについてはプログラミング言語によって違います。Pythonであれば公式ドキュメント(https://docs.python.org/ja/3/library/stdtypes.html#numeric-types-int-float-complex)がありますので、まずはそちらをみて確認すると良いでしょう。

基本のデータ型その2 〜文字型〜

文字を扱うためのデータ型です。
Pythonでは

hoge = 'hogehoge'
moge = "mogemoge"

という形で宣言します。データは必ず''(シングルクオーテーション)か""(ダブルクオーテーション)で囲ってください。ただし、'hogemoge"のようにシングルクオーテーションとダブルクオーテーションが混じるとバグになるので、一つの文字データについては必ず統一してください。
文字型のデータは足し算と掛け算をすることができます。

hoge = 'hogehoge'
moge = "mogemoge"

hogemoge = hoge + moge 

print(hogemoge)

というコードを実行した場合、hogehogemogemogeと二つの文字の変数をつなげることができます。
ただし、

hoge = 'hogehoge'
number = 3

hoge_num = hoge + number

とした場合、『TypeError: can only concatenate str (not "int") to str』というエラーが出ます。
つまり、文字型のデータと数字型のデータは足し算できないということですね。こういったエラーは度々今後見ると思いますので、エラーが出てコードが動かない時はエラーメッセージをちゃんと読むようにしましょう。
また、

hoge = 'hogehoge'

hoge_3times = hoge * 3

print(hoge_3times)

とした場合はhogehogehogehogehogehogeと'hogehoge'を3回繋いだもの

hoge_3times  =  hoge + hoge + hoge 

と同じ意味を示していることがわかります。
また、

hoge = 'hogehoge'
num_times = 3

hoge_times = hoge * num_times

print(hoge_times)

とした場合でも同様の結果を得ることが出来ます。
ちなみに

hoge = 'hogehoge'
num_float = 1.5

hoge_times = hoge * num_float

とした場合、「can't multiply sequence by non-int of type 'float'」とエラーが出ます(そらそうだ)。常識的に考えて『りんご』を0.5回表示するって普通は言わないもんな。
ちなみに、この文字列の足し算はよく使います。IDを作ったり、何かを画面に表示させたりする時にすごくよく使うのでちゃんと理解して使えるようにしましょう。

基本のデータ型その3 〜ブール型〜

ブール型もよく使います。ただし、あまりユーザーが意図的に使うことは少ないかもしれません。
ブール型はTrueかFalseのいずれかの2値をとる値で、条件判定に使います。条件を満たしていればTrueと返し、条件を満たさなければFalseと返します。
例えば、

3<5

3%2==0

1+1=='2'

Pythonのコンソールに入力した場合

>>> 3<5
True
>>> 3%2==0
False
>>> 1+1=='2'
False

と返ってきます。3は5よりも小さいですし、3は2では割り切れませんし、数字型の1と数字型の1を合計しても、文字型の2にはなりません。従ってこのような値を返してきます。
自分でTrueかFalseかを入力することはほとんどありませんが、何かの条件を判定することは日常茶飯事ですので暗に日常的にブール値は使っているわけです。

まとめ

今回は変数の基本的な作成方法とともに、数字型、文字型、ブール型という基本的な変数の型について紹介しました。
変数の型はコンピュータでデータを操作するための基本的な事項ですので、よく理解しておくようにしてください。