どうも、としです。
今回Python講座の第4章として変数の解説をしていきたいと思います。
内容としては
変数とはなにか?
型についての解説
変数の名前のつけ方
大きく分けてこの3つの内容について話をしていきます。
やや難しい部分ですがプログラムを覚えようと思うと、変数はとても重要な部分になります。
なのでしっかりと覚えていってもらえればと思います。
変数とはなにか?
最初はそもそも変数とは何なのか?
この部分について話をしていきますね。
簡単に言うと
『何かしらの値に名前をつける仕組みのこと』
この時の名前を変数と言います。
例えば、、
max_score = 100
こういった感じで書かれます。
やっている事としては、
- 100という値にmax_scoreという名前をつける
- もしくはmax_scoreという変数に100を代入する
という感じです。
でっ、「=」が使われているのですが、、
イコールって数学的に考えると左辺と右辺が一緒っていう意味があります。
でもプログラミングに関してイコールは
左に右を代入する
- 左が変数の値
- 右がその変数に入っている値
こういう意味で覚えてくださいね。
変数の型について
この変数には、もう一個重要な部分があるんですね。
それが
『変数には型が存在している』
っていうところです。
これは第3章でも話をしたのですが、型というのがプログラムでは凄く重要なものになります。
数字と文字列の型
前回のおさらいを少ししておくと、、
例えばこういったプログラムがあるとします。
x = 10 + "3"
- 左に変数
- 右に変数に代入する値
と考えるとxに入るのは13という数字のような気がしますよね。
だけどここで『”3″』を見てほしいのですが、、
『”』で括られていますよね。
これは何を意味するのかというと、文字列というのを意味しています。
型でいえばstring型というものです。
ちなみに『’』で括られている場合も同じになります。
だけど10は何にも括られていないので数字を意味しています。
型でいえばinteger型(int型)というものになります。
プログラムはこんな感じで型で、それが数字なのか文字なのかを判断しています。
なので基本的に計算をしたいなら数字の型、int型同士じゃないと出来ないんですね。
そのため上のプログラムを正しく書くなら
x = 10 + 3
これが正しいプログラムで意味としては
xに10+3の結果の13を代入する。
というプログラムになります。
ちなみに型には色々な種類があるのですが、基本的には
- 文字列:string型
- 数字:integer型
この2つをしっかりと区別しておけばいいかなと思います。
後は数字の中で少数はfloat型というものになるので、数字の中でも少数は違うんだなーっていう感じで覚えておいてくださいね。
プログラムで型を確認する
次はその型をプログラム上で確認する方法の解説になります。
最初にコードになります。
string_1 = '1'
integer_1 = 1
float_1 = 1.1
print(type(string_1))
print(type(integer_1))
print(type(float_1))
コードを解説していくと、最初の3行は変数への代入ですね。
string_1という変数にシングルクォーテーションで括った1。
文字列として1を代入しています。
その次がinteger_1という変数に数字の1を代入。
最後がfloat_1という変数に1.1という小数を代入。
変数への代入が終わったら、print文で何かをプロンプトに表示しています。
でっ、何を表示しているかというと、、
このtypeというもので括ると型を表示するようになります。
結果としては
print(type(string_1)) #出力→<class 'str'>
print(type(integer_1)) #出力→<class 'int'>
print(type(float_1)) #出力→<class 'float'>
こういった感じで結果が表示されます。
もちろんこういった感じで変数じゃなくても確認することが出来ます。
print(type('1')) #出力→<class 'str'>
print(type(1)) #出力→<class 'int'>
print(type(1.1)) #出力→<class 'float'>
ただこれは確認すればすぐに分かるので、このtypeを使うのは変数の型を確認するときが多いです。
なのでもし「あれこの変数の型はなんだ?」という場合にはtypeを使って確認してみてください。
変数の名前のつけ方
最後は変数の名前のつけ方になります。
まず変数にはルールが存在しています。
使用出来るのは半角英数字と「_」(アンダーバー)が基本
最初の1文字目は数字や大文字にしない
Pythonで意味のある単語は使わない(ifやforなどで予約語と言う)
ちなみに予約語はこんな感じです。
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for',
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not',
'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
基本的にこれ以外の単語であれば使用することができます。
変数名の作り方
こんな感じでルールを守って変数を作るのですが、、
予約後以外の単語をつなげて1つの変数名とすることが一般的です。
例えば冒頭で例を上げている最高得点という意味で変数名を作りたい場合には、、
maxとscore
この2つをつなげます。
でっ、実はこのつなげる方法にもいくつか種類があるんですね。
その中でもよく使われるのが
- snake_case
- camelCase
この2つになります。
見てわかると思うのですが、snake_caseの方は単語を『_』(アンダーバー)で繋ぐ。
camelCaseは繋いだ文字の先頭を大文字にする。
(先頭は大文字にしないというルールがあるので先頭は小文字です)
こういった変数の作り方があります。
ただPythonの場合にはsnake_caseを使用するということが多いです。
もちろん大規模なプロジェクトを複数人で作成する場合には、その中のルールに沿って作るのですが、、
これからPythonプログラムをやっていくという場合にはsnake_caseで変数名を作っていくのが良いかと思います。
なのでmaxとscoreの場合には
max_score
こういった変数名になるわけですね。
まとめ
今回は変数の解説から型についての解説、Pythonでの変数の作り方までを話しました。
まとめておくと
・変数とは何かしらの値に名前をつける仕組みのこと
・「=」で繋ぐことで左の変数に右の値を代入できる
・型が存在してtypeで確認することが出来る
・変数の作成にはルールが存在する
・Pythonではsnake_caseが用いられることがほとんど
こんな感じでしたね。
変数って結構ややこしい部分だと思います。
だけどプログラムをやっていく中で毎回必ず使うものになります。
なのでぜひ自分でプログラムを組ながら、今回の話を参考に変数について理解していってくださいね。
次の章ではPythonの中でもかなり便利な機能のリストと辞書というものについて解説します。
ぜひ次の章もお付き合いくださいね。