このエントリ、下書きに残っていた物を更新したのですが、Built-in Functionまでまとめた下記エントリを以前書いていたので、こちらの方が役に立つ気が。。。
不要になった下書きはとっとと削除するか、必要な部分だけ残すのが吉。反省を込めて。
Keywordリストが増えているのでこのままとしておきます。(11/5夜追記)
Keywordとは
- Pythonで特殊な意味を持たせた単語
- Keywordに設定された単語は変数に使用出来ない。
Keyword一覧を呼び出すコマンド
>>> from keyword import kwlist >>> kwlist
キーワードリスト一覧
>>> kwlist ['False', 'None', 'True', '__peg_parser__', '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']
これらの単語を変数名として使おうとしてもエラーが出る。
>>> for = 3 File "<stdin>", line 1 for = 3 ^ SyntaxError: invalid syntax >> True = 3 File "<stdin>", line 1 True = 3 ^ SyntaxError: cannot assign to True
invalid syntaxと言う一般的なエラーメッセージの場合と、
cannot assign to Trueと「あ、Keywordを選んだから駄目なんだな」と分かるエラーメッセージの場合がある様だ。
何はともあれ、変数に代入しようとしてinvalid syntaxが出たらこれを疑ってみよう。
Keywordかどうかの確認
有る単語がKeywordかどうか確認するには、keyword.iskeyword()で確認できる。
確認したい文字はクオーテーション(シングルでもダブルでも)を前後に付ける必要がある。
>>> from keyword import iskeyword >>> iskeyword("True") True >>> iskeyword("for") True >>> iskeyword(True) False
コメント