pythonで変数名をつけるときに気をつけるべきことがあることを知っていますか?
本記事ではpythonで変数名をつける際の注意点について解説してきます。
本記事のコードはグーグルコラボラトリーで記述と動作の確認をしています。
変数名とは?
pythonでは、自分で指定した単語と計算式などのコードを=(イコール)で繋ぐことで、変数にコードを格納することができます。
このとき自分で指定した単語のことを変数名と言います。
次のコードではlist_numやlist_sumが変数名になります。
list_num = [4, 7, 9, 1, 2, 13]
print(sum(list_num))
list_sum = sum(list_num)
print(list_sum)
出力:
36
36
変数に格納することでコードを見やすく整理できたり、コードの記述ミスを防ぐことにつながります。
pythonで変数名をつける際の注意点
変数名は基本的に自分の好きなようにつけることが可能ですが、いくつか注意するべきことが存在します。
使える文字が決まっている
pythonでは基本的に次の文字が変数名として使用可能です。
- 半角の大文字小文字アルファベット(A~Z, a~z)
- 数字(0~9)
- アンダーバー(_)
python3からはひらがなや漢字も使用出来るようになりましたが、全ての文字が使用可能となったわけではありません。
ひらがな・漢字で変数名をつけたことでエラーが起きる場合もありますので、アルファベットと数字、アンダーバーのみで命名することをオススメします。
また、数字は1文字目に使えない点も注意が必要です。
アンダーバーは1文字目でも大丈夫ですが、特殊な関数が割り当てられている場合もあるので注意してください。
すでに使われている名前は使用できない
pythonではboolであるTrueやFalse,構文で使用するfor,if,defなど、pythonがキーワードとして設定している名前を変数名にしていることはできません。
キーワードの一覧は次のコードで確認可能です。
import keyword
import pprint
pprint.pprint(keyword.kwlist, compact=True)
出力:
['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']
使用を避けるべき名前がある
intやlistという名前は変数名として使用することが可能です。
しかし、変数名に指定するとint()関数やlist()を使用できなくなってしまいます。
そのため、変数名に使用することはオススメしません。
print(int(67))
出力:
67
int = 67
print(int)
出力:
67
print(int(67))
出力:
TypeError: ‘int’ object is not callable
変数名に使うべきではない名前の一覧は次のコードで確認できます。
dir(__builtins__)
出力:
‘dict’, ‘dir’, ‘display’, ‘divmod’, ‘enumerate’, ‘eval’, ‘exec’, ‘execfile’, ‘filter’, ‘float’, ‘format’, ‘frozenset’, ‘get_ipython’, ‘getattr’, ‘globals’, ‘hasattr’, ‘hash’, ‘help’, ‘hex’, ‘id’, ‘input’, ‘int’, ‘isinstance’, ‘issubclass’, ‘iter’, ‘len’, ‘license’, ‘list’, ‘locals’, ‘map’, ‘max’, ‘memoryview’, ‘min’, ‘next’, ‘object’, ‘oct’, ‘open’, ‘ord’, ‘pow’, ‘print’, ‘property’, ‘range’, ‘repr’, ‘reversed’, ‘round’, ‘runfile’, ‘set’, ‘setattr’, ‘slice’, ‘sorted’, ‘staticmethod’, ‘str’, ‘sum’, ‘super’, ‘tuple’, ‘type’, ‘vars’, ‘zip’]
python公式が推奨している変数名の付け方
変数名はルールに従えば自由につけることが可能ですが、pythonでは小文字+アンダースコアで命名することを推奨しています。
list_num = [4, 5, 67, 17, 34]
sum_num = sum(list_num)
print(sum_num)
出力:
127
あくまで推奨しているだけですので、チームでなにか変数名の命名ルールがある場合はそのルールに従いましょう。
まとめ
今回はpythonで変数名を命名する際に気をつけることについて紹介しました。
今回紹介した内容を実践できれば、エラーの発生を抑えることができます。
今回の記事を読んでpythonをさらに勉強したいと思った方は次の記事もオススメです。
pythonを独学で習得する方法について紹介しています。
コメント