変数とは?
変数はデータの値を格納しておく器のようなものです
プログラムコード上では人間がわかりやすいように使用用途に合わせた名称の変数を作成します
変数を作成する
Pythonには変数を宣言する記載方法はありません
変数は、最初に値を割り当てたときにその値の型の変数が瞬時に作成されます
x = 5
y = "Fukuoka"
print(x)
print(y)
では実際に動かしてみましょう
1~2行目で変数xと変数yにはそれぞれ数値型と文字列型のデータが格納されます
この時点で
変数xは、整数が代入されるためint型の変数として設定されます
変数yは、文字列が代入されるためString型の変数として設定されます
変数は、他のプログラム言語と異なり特定の型で宣言する必要はなく、設定後に型を変更することも可能です
キャストについて
変数同士の計算や文字列操作などは、同じ型同士でないとできません
ただし、例えば文字列の中に計算結果を含めたいといったように型の違う変数同士を扱う場合もあると思います
そんなときはキャストすることで型を指定したものに変更することができます
x = str(3) # 変数xが文字列'3'へキャスト
y = int(3) # 変数yが整数の3へキャスト
z = float(3) # 変数zが浮動小数点型の3.0へキャスト
print(x)
print(y)
print(z)
では、実際に動かしてみましょう
出力結果ですが
変数xは、キャスト前は整数型のデータ値を文字列型の’3’として保持しています
変数yは、キャスト前は整数型のデータ値ですが整数型の3として保持しています
ここについてはそのまま代入しても整数型となりますがPythonでは事前に変数の型指定ができないのでキャストを使うことで強制的に意図したデータ型として扱うことができます
変数zは、キャスト前は整数型ですが、キャストして浮動小数点型として3.0を保持しています
変数の型を調べる
Pythonの場合、変数は最初に格納した値で決まります
そのためプログラムコードが長くなってくると変数の型がいったい何かわからないといった場合もあるかもしれません
そんなときは、type関数を使用して変数の型を調べることができます
x = 5
y = "Fukuoka"
print(type(x))
print(type(y))
では、実際に動かしてみましょう
変数xへは整数(int)型
変数yへは文字列(str)型
のデータ型を代入しました
type関数を使用することでそれぞれの変数のデータ型が実行結果として表示されるようになります
文字列の扱い方について
Pythonで文字列を扱う場合はシングルまたはダブルクォーテーションを使用します
特にどちらを使用するというルールはないので新規で使う場合はお好みで、開発現場ではすでにあるプログラミングコードと同じような使い方をしたいところです
x = "Fukuoka"
# 両方とも同じ
x = 'Fukuoka'
文字列の区別について
変数の名前は大文字と小文字を区別します
a = 4
A = "Fukuoka"
print(a)
print(A)
では、試しに動かしてみましょう
変数aと変数Aがそれぞれ別の変数として扱えることがわかったと思います
この場合、変数aと変数Aはまったく別物として使用することができますが、実際の開発現場では間違いや不具合を作り込んでしまうもとになるので基本は別々にしたほうが良いでしょう
変数名の付け方
Pythonの変数には、xやyのような短い名称や、city, carname, total_volumeのようにどんな変数なのかわかるような名称をつけることができます
Pythonの変数の命名ルールは下の項目を守れていれば問題ありません
OKなパターンは下になります
cityname = "Fukuoka"
city_name = "Fukuoka"
_city_name = "Fukuoka"
cityName = "Fukuoka"
CITYNAME = "Fukuoka"
cityname2 = "Fukuoka"
NGなパターンは下になります
2cityname = "Fukuoka"
city-name = "Fukuoka"
city name = "Fukuoka"
複数の単語を組み合わせた変数名について
変数名が増えてくると複数の単語を用いて名前をつけるときが出てくると思います
複数の単語を使用した変数名はときに読みにくくなる場合があるため、Pythonに限らず変数名を読みやすくする方法があるので紹介します
これらのケースは、個人での開発では好みのものを、実際の開発現場ではその開発現場のルールに則って記載するのが良いでしょう
キャメルケース(Camel Case)
キャメルケースは、最初の単語を覗いてそれぞれの単語の頭文字を大文字にする表記方法です
cityName = "Fukuoka"
パスカルケース(Pascal Case)
パスカルケースは、各単語すべての頭文字が大文字になる表記方法です
CityName = "Fukuoka"
スネイクケース(Snake Case)
スネイクケースは、各単語をアンダースコア”_”でつなげる表記方法です
city_name = "Fukuoka"
・文字列もしくはアンダースコアで始めなければならない
・数字ではじめることはできない
・英数字とアンダースコアのみ使用できます
・大文字と小文字を区別します