Pythonの学習本やWEBサイトを見ていると、
変数変数ってよく出てくるんだけど、
変数って何?どう使うの?
変数について知りたいんですね!?
変数の使い方や注意点も併せて紹介いたします!
Pythonの変数とは何かを、
Python歴3年の私が、できるだけわかりやすく解説し、解決に導きます。
変数とは[Python]
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
変数の基礎
変数とは、中身を自由に出し入れすることができる箱のようなものです。
変数の中身は、数字の「3」や文字列の「メッセージ」など、基本的に何でも入れることができます。
しかし、「3」と「メッセージ」など、複数の中身を同時に入れることはできません。
数字どうしの「3」と「8」や、文字列どうしの「アプリ」と「メッセージ」などもダメです。
数字の「3」を入れた後、文字列の「メッセージ」に入れ替えることはできます。
この場合、数字の「3」は消えて無くなってしまいますので注意が必要です。
変数名の付け方
変数名の付け方は基本的に何でも大丈夫ですが、一部ルールとマナーがあります。
【変数名のルール】
- 使えるのは英数字とアンダーバーのみ
- 数字以外から始まる(「1hensu」はダメ、「hensu1」ならOK)
- 予約語(if、forなど)は使用できない(「for」はダメ、「for_」ならOK)
【変数名のマナー】
- できるだけわかりやすい名前にする
- 英字は全て小文字を使う(大文字「HENSU」と小文字「hensu」が区別されてしまうため、誤作動を防ぐなどの理由)
変数でできること[Python]
変数に中身を入れる
変数に中身を入れることを「代入する」といいます。
では、前項で例に挙げたように、数字の3を代入してみましょう。
hensu = 3
これで完了です。
「hensu」が変数です。
注意していただきたいのは、数学などのように左辺の「hensu」と右辺の「3」が等しいという意味ではありません。
あくまでも「hensu」に「3」を代入したという式になります。
変数の中身を表示
変数の入れ替えを何度も行っていると、現時点で中身が何なのかわからなくなる時があります。
そんな時のために、変数の中身を表示させることができます。
hensu = 3
print(hensu)
実行結果:3
「print(hensu)」で「hensu」の中身を表示させることができます。
前項で複数の中身は同時に入れることができないとお伝えしました。
しかしながら、複数の変数をつなげて、1つのように表示することはできます。
2つの変数の中身をつなげて表示してみましょう。
hensu_a = 'メッセージ'
hensu_b = 'アプリ'
print(hensu_a + hensu_b)
実行結果:メッセージアプリ
足し算をするように、「+」を2つの変数の間に入れることで、つなげて表示できます。
しかしながら、下記の場合はエラーが出て実行できません。
hensu_a = 3
hensu_b = 'メッセージ'
print(hensu_a + hensu_b)
実行結果:TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’
これは、変数の「型」が違うからです。
「3」は「int型(整数)」、「メッセージ」は「str型(文字列)」であるため、つなげて表示ができません。
簡単に説明すると、「3」は数値、「メッセージ」は文字列だからNGというわけです。
もっとわかりやすく解説すると、「3」が英語、「メッセージ」が日本語だと思ってください。
英語と日本語が混在するため、意味が通じてないと思っていただければわかりやすいでしょうか。
このエラーを解消するには、「型」を一致させる必要があります。
英語(int型)である「3」を日本語(str型)に変換してみましょう。
hensu_a = 3
hensu_b = 'メッセージ'
print(str(hensu_a) + hensu_b)
実行結果:3メッセージ
str型に変換するには、変数を「str()」の中に入れます。
【 str(変数) 】
これで型が一致し、つなげて表示できるようになりました。
変数で計算
変数の中身が数値なら、変数で計算することができます。
hensu_a = 1
print(hensu_a + 2)
実行結果:3
変数どうしでの計算も可能です。
hensu_a = 3
hensu_b = 8
print(hensu_a + hensu_b)
実行結果:11
数値をつなげて表示したい場合は、型変換が必要です。
下記の通り、str型に変換しましょう。
hensu_a = 3
hensu_b = 8
print(str(hensu_a) + str(hensu_b))
実行結果:38
当然ですが、型が違う場合は計算ができません。
一見数値のように見えても、文字列(str型)になっている場合があるため注意が必要です。
下記のコードを見てください。
hensu_a = 3
hensu_b = '8'
print(hensu_a + hensu_b)
実行結果:TypeError: unsupported operand type(s) for +: ‘int’ and ‘str’
「hennsu_b」に「’2’」が代入されています。
数値を「’」で囲ってから変数に代入すると、str型になるという特性があります。
数値(int型)に変換するには「’」を外すか、str型の時と同様に変数を「int()」で囲みます。
hensu_a = 3
hensu_b = '8'
print(hensu_a + int(hensu_b))
実行結果:11
その他
変数の中身をエクセルに書き込みすることができます。
既存エクセルへの書き込み方法は、下記記事で解説しております。ご参考ください。
変数の中身をファイル名にすることもできます。
変数をファイル名に組み込む方法は、下記記事で解説しております。
関連用語として、「配列」というものがあります。
配列は、変数がたくさん集まったようなものなのですが、場合によってはよく使います。
変数については下記記事で解説しておりますので、ご参考ください。
最後に
変数とは何かについて解説いたしました。
少しでも理解を深めていただけたら幸いです。
プログラミングでは必ず「変数」を扱います。
毎回扱うものだから、「変数とは何か」と、「変数の性質」をよく理解しておきましょう。
当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!