Categories: Python

【Python】予約語・組み込み関数一覧

この記事では、Python の予約語と組み込み関数について解説しています。これらと同じ変数名や関数名は付けないように気をつけましょう!

ソースコード内で任意の文字列が識別子として使用できるかを確認することも可能です。

任意の文字列が識別子として使用できるか判定する方法

予約語とは?

予約語とは、識別子(クラス名や関数名や変数名)に使えない文字列のこと を言います。

例えば、if という変数を定義すると呼び出した if が条件分岐するためなのか、変数なのかわからなくなってしまいます。なので、あらかじめ予約語として識別子に利用できないようにしておくことで無用なバグを防ぐことができます。

ちなみに、Python では予約語に値を代入すると SyntaxError が送出されます。

if = 10

実行結果

  File "/Users/user/Desktop/Python/test.py", line 1
    if = 10
       ^
SyntaxError: invalid syntax

予約語の確認方法

予約語は keyword.kwlist にリストとして格納されています。

import keyword

print(keyword.kwlist)

実行結果

['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']

予約語一覧

Python 3.10.0 では、以下のような予約語が定義されています。

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

組み込み関数とは?

組み込み関数とは、言語が標準で用意してくれている関数のこと を言います。Python 3.10.0 では、以下のような組み込み関数が定義されています。

abs aiter all any anext ascii bin bool
breakpoint bytearray bytes callable chr classmethod compile complex
delattr dict dir divmod enumerate eval exec filter
float format frozenset getattr globals hasattr hash help
hex id input int isinstance issubclass iter len
list locals map max memoryview min next object
oct open ord pow print property range repr
reversed round set setattr slice sorted staticmethod str
sum super tuple type vars zip __import__

組み込み関数の使い方一覧

組み込み関数と同じ名前のオブジェクトを生成してもエラーにならない。しかし、組み込み関数が呼び出せなくなってしまうので注意。

print = '文字列'
print('出力')

実行結果

Traceback (most recent call last):
  File "/Users/user/Desktop/Python/test.py", line 2, in 
    print('出力')
TypeError: 'str' object is not callable

上記コードでは、print()関数 を呼び出しているつもりが、文字列を格納した print変数 を呼び出しているので実行できなくてエラーが発生しています。

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

View Comments

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

2週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

5か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago