- 2018-8-6
- pythonプログラミング, 変数
- python, 代入, 変数
- 【Python入門】変数の代入についてわかりやすく解説 はコメントを受け付けていません
この記事ではPythonにおける変数の代入についてわかりやすく解説していきます。
まず、変数については
こちらの記事をあわせてご覧ください。
⇒Pythonの変数宣言で注意すべきこと
この記事ではJupyter Notebookを使って解説します。
⇒Jupyter Notebookの使い方
【Python入門】変数を代入するとはどういう意味?
まずこちらをご覧ください。
x = 8 y = 4 print(x + y)
上記を実行するとこうなります。
まず変数とは上記例でいくと
『x』や『y』のことをいいます。
そして
x = 8
とありますね。
で、代入とは
左側の変数xに右側の値(ここでは8)を入れることをいいます。
変数とは数字とか文字列を入れる箱のことです。
変数という箱の中に数字や文字を入れる行為を代入するというわけですね。
そしてxやyに代入した値を
x+yという形で計算し、printを使って答えを出します。
xには8がyには4という数字が入っている(代入されている)ので
x+y=12となり、その12という数字がprintによって
画面に表示されているわけですね。
【Python入門】変数に代入する例題
変数に代入するという意味が少しずつ分かってきたことと思います。
ここで例題を解きながら
さらに変数の代入について勉強していきましょう。
# 例題1 b = 8 b = 9 print(b)
上記の場合、実行すると
どういう数字が表示されるでしょう?
それともエラーが出るでしょうか?
ちなみに『# 例題1』はコメントアウトといって
実行しても無視されます。
詳しくはこちらの記事をご覧ください。
話を元に戻します。
例題1の答えは『9』です。
プログラムは上から順番に読み取られていきます。
だから、最初、bに8が代入されます。
でも、次、bに9が代入されます。
pythonに限った話ではありませんが
同じ変数に2回以上数字や文字が代入されると
一番最後の数字や文字に上書きされてしまうんです。
だから最後にbに代入された9が表示されたんです。
次、例題2に行きましょう。
# 例題2 c = '変数には' d = "文字列を入れることができるよ" print(c + d)
変数に代入できるのは数字だけではありません。
文字列も代入することができます。
文字列とは例題2で扱っている『変数には』とか
『文字列を入れることができるよ』の部分です。
例題2を実行すると
となります。
で、文字列を代入するときには'(シングルクオーテーション)か
“(ダブルクオーテーション)で例題2のように囲んでください。
それからprint(c + d)となっていますね。
c + d
とすることで、変数cと変数dの文字列を結合して
表示することができます。
【Python入門】変数名のルール
まず例題3をやってみましょう。
# 例題3 ohayou = 'おはよう' oyasumi = 23 print(ohayou) print(oyasumi)
実行すると
となります。
変数名とは例題3でいうところの
『ohayou』と『oyasumi』のことです。
で、変数名は適当につけてもよいのですが
ルールがあります。
ルール違反の変数名はエラーの原因になります。
なので必ず、変数名のルールを知っておきましょう。
Pythonで使える変数名のルールとして
1.最初の文字は英文字かアンダーバーしか使えない(数字は使えないという意味)
2.2文字目以降は数字も使える
3.予約語を変数名に使用することはできない
4.大文字(例:D)と小文字(例:d)は区別されます
となっています。
変数名ルール1.最初の文字は英文字かアンダーバーしか使えない(数字は使えないという意味)
まず『変数名』ですから
x = 5
とあったときに、5ではなくて『x』の話をしています。
たとえば、
# 例題4 5x = 8 print(5x)
というケース。
例題4を実行するとエラーが出ます。
例題4でどうしてエラーがでたのでしょう?
理由は簡単。
変数名の最初の文字が数字だったからです。
具体的には『5x』の『5』が数字だからエラーが出たんです。
このエラーをなくすには
# 例題4' x5 = 8 print(x5)
『5x』を『x5』にすればよいです。
変数名の2番目以降の文字に数字が入ってもエラーは出ません。
とにかく変数名の最初に数字を入れないように覚えておきましょう。
変数名ルール2.2文字目以降は数字も使える
これは先ほども言いましたので、大丈夫でしょう。
# 例題5 ba_456ER = 65 print(ba_456ER)
例題5のように変数名で2文字目以降は
数字もOKですし、_(アンダーバー)もOKです。
実行すると
ときちんと『65』が表示されましたね。
ちなみに_(アンダーバー)は複数の単語を連結させて
変数名として使うときによく使います。
たとえば、
『mji_retsu』。
文字と列の組み合わせとして間に_(アンダーバー)を入れてみました。
他にも『I_can_speak_Japanese』とか。
こういった感じで_(アンダーバー)使用することが多いです。
ですが、別に『sp_ea_k』みたいに
適当に_(アンダーバー)をつけてもエラーは出ません。
ただ、プログラマー側が
意味を認識しにくいだけの話です(苦笑)。
変数名のルール3.予約語を変数名に使用することはできない
変数名に予約語を使うことはできません。
予約語とはPythonにとって特別な意味を持つ言葉のことをいいます。
そもそも予約語としてPythonは認識しているわけです。
予約語とまったく同じ単語を変数名として使われても
Pythonはどういう意味なのか判断できません。
だから、変数名に予約語を使うことはできないんです。
例を見たほうがわかりやすいと思います。
予約語の例
# 例題6 a = 5 % 3 if a != 0: print("割り切れませんでした。余りは" + str(a) + "です。")
例題6で予約語は『if』が該当します。
『if』は英語なら「もし~ならば」という意味です。
ここではそれくらいの間隔でOKです。
そして『5 % 3』は5÷3の余りを意味します。
で、『if a != 0:』でもしaが0でないならという意味になります。
5÷3の余りは0でないので、下の行に移動します。
結果、print文で結果が表示されるというわけですね。
実行すると
となります。
ちなみに%などの数値計算については
こちらの記事で詳しく解説しています。
で、ifは予約語です。
ifがあると即座にPythonは「もし~ならば」と認識します。
だから変数名としてPythonは認識できません。
# 例題7 if = 5 % 3 print(if)
例題7のようにifを変数名として使用すると
以下のようになります。
変数名に予約語を使うとエラーが出ますね。
Pythonには予約語として他にも
and
as
assert
yield
class
for
finally
lambda
not
print
raise
with
try
return
などたくさんあります。
他にもいっぱいあります。
とにかく適当な変数名をつけたつもりがエラーがでるなら
もしかしたら偶然にもその変数名は予約語になっていないか
検索するなどして確認してみてくださいね。
変数名のルール4.大文字(例:D)と小文字(例:d)は区別されます
変数名のルール4つ目。
大文字と小文字は区別されています。
たとえば、
# 例題8 DDD = 'こんにちは' ddd = 'おはよう' print(DDD)
例題8を実行すると
となります。
例題8では同じ『ディー』を使いました。
でも『DDD』は大文字、『ddd』は小文字という違いがあります。
で、結果は大文字の『DDD』の方が表示されましたね。
ここからわかるように変数名は大文字と小文字がきちんと
認識されているということです。
Pythonでは同じ変数名に別の文字を代入すると
後の文字『おはよう』の方が反映されます。
でも、反映されたのは最初の文字『こんにちは』でした。
このことから、変数名は大文字と小文字が区別されていることがわかりますね。
以上で、Pythonにおける変数名についての解説を終わります。
pythonを学ぶならこちらの動画講座がおすすめです
Python 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルを学び、実践的なアプリ開発の準備をする
かなり長い講座名ですね。
わかりにくそうな感じがします。ですが、pythonの基礎からしっかりとわかりやすく教えてくれます。
また、きれいなコードを書くための方法についても
教えてくれるので、周りが「どうやってそんなコードを書いてるの?」
とびっくりされるようになるかもしれません。それからWebアプリケーション開発の基本的なテクニックについても
教えてくれます。なので、pythonを使ってwebアプリケーションを作ってみようと
思っている方にもおすすめです。値段は時期によって違います。
詳しくはこちらをご覧ください。
みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
この講座ではまずpythonの基礎を学びます。
次に人工知能について学んでいきます。そして最終的にはpythonを使って文字認識や株価分析ができるような技術力が身につくようになっています。
単純に教科書的なpythonを学ぶのではなく
仕事でも使えるスキルを身につけたい方におすすめの講座です。なのに値段は恐ろしいほど安いです。
時期によって値段は変動するので
詳しくはこちらをご覧ください。
Pythonで機械学習:scikit-learnで学ぶ識別入門
この動画講座は広島大学准教授の先生が担当しています。
機械学習が専門の先生です。すごく深い知識が身につきます。
大学の先生の講義って難しそうってイメージがあるかもしれません。でもそんなことはありません。
すごくわかりやすいです。pythonで機械学習のスキルを身につけたい方におすすめです。
値段は時期によって違いますが、かなり、良心的な価格になっています。詳しくはこちらをご覧ください。