【Python】変数や関数の名前に使えない"予約語"


予約語とは?

予約語というのはプログラム内であらかじめ使われている
言葉のことで、プログラムの中では特別な意味を持つ言葉になります。

予約語一覧

# 予約語の一覧を出す
import keyword
print(keyword.kwlist)

#結果
['False', 'None', 'True', 'and', 'as', 'assert', ...

# 縦に並べると
False
None
True
and
as
assert
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

これら"予約語"は変数や関数の名前に用いることはできません。

宣言を英単語2個以上にすることで
こういった問題は回避できたりします。

# 例
return_pass
from_lambda

(9/22追記)
コメントにて下記、ご教示いただきました。
規約上、予約語と同じ名前を使う場合はアンダースコアをひとつだけ入れる
形が正しいようです。

single_trailing_underscore_: Python のキーワードと衝突するのを避けるために使われる規約です。例を以下に挙げます:

tkinter.Toplevel(master, class_='ClassName')

勉強になりました、ありがとうございます。