Python で予約語の一覧を取得する方法 ⇒ keyword を使う

ブログ

Python コードの予約語よやくごの一覧は、標準の keyword モジュールで取得できました。

Python マニュアルの場所です。

(Python) keyword.kwlist

(Python) keyword.iskeyword(s)

(Python) キーワード (keyword)

keyword をインポートしてから、keyword.kwlist を参照すると、リストが取得できました。

コード例

Python の予約語の一覧を表示するコード例です。

『文字列が予約語であるか?』の判定も試してみました。

import keyword

for (n, k) in enumerate(keyword.kwlist, start=1):
    print(f'{n} - {k} - iskeyword: {keyword.iskeyword(k)}')

実行結果

Python 3.8.1 の結果ですが、予約語は 35 個ありました。

ところで、予約語の大文字と小文字は区別されていました。

keyword.iskeyword('None') は True でしたが、keyword.iskeyword('none') は False でした。また、keyword.iskeyword('NONE') も False でした。

1 - False - iskeyword: True
2 - None - iskeyword: True  
3 - True - iskeyword: True  
4 - and - iskeyword: True   
5 - as - iskeyword: True    
6 - assert - iskeyword: True
7 - async - iskeyword: True 
8 - await - iskeyword: True 
9 - break - iskeyword: True
10 - class - iskeyword: True
11 - continue - iskeyword: True
12 - def - iskeyword: True
13 - del - iskeyword: True
14 - elif - iskeyword: True
15 - else - iskeyword: True
16 - except - iskeyword: True
17 - finally - iskeyword: True
18 - for - iskeyword: True
19 - from - iskeyword: True
20 - global - iskeyword: True
21 - if - iskeyword: True
22 - import - iskeyword: True
23 - in - iskeyword: True
24 - is - iskeyword: True
25 - lambda - iskeyword: True
26 - nonlocal - iskeyword: True
27 - not - iskeyword: True
28 - or - iskeyword: True
29 - pass - iskeyword: True
30 - raise - iskeyword: True
31 - return - iskeyword: True
32 - try - iskeyword: True
33 - while - iskeyword: True
34 - with - iskeyword: True
35 - yield - iskeyword: True

用途

予約語の一覧ですが、『Python コードで Python コードを書く』という試みをしていたときに、必要になって探しました。

『生成した Python コードが正しいかどうか?』のチェックに使う感じですね。

『もし予約語が含まれていたら文字列を修正する』とか、『Python の予約語を回避する』とか、そういった処理がしたくて予約語の一覧(キーワードの一覧)を探していました。

それで、keyword モジュールを見つけました。

しかしながら、自分の用途に使う場合だと、ほかにもっと適したモジュールがあるような気がしますね。

『演算子の記号』とか『モジュール名』とかは、なにか別の方法で取得する必要がありますし。

スポンサーリンク
シェアする(押すとSNS投稿用の『編集ページ』に移動します)
フォローする(RSSフィードに移動します)
スポンサーリンク
シラベルノート
タイトルとURLをコピーしました