組み込み定数

組み込み名前空間にはいくつかの定数があります。定数の一覧:

False

bool 型の偽値です。False への代入は不正で、SyntaxError を送出します。

True

bool 型の真値です。True への代入は不正で、SyntaxError を送出します。

None

関数にデフォルト引数が渡されなかった場合など、値が存在しないことを表すためによく使われるオブジェクトです。 None への代入は不正で、SyntaxError を送出します。 None は NoneType 型の唯一のインスタンスです。

NotImplemented

二項演算の特殊メソッド (例えば __eq__()、__lt__()、__add__()、__rsub__() など) が、 もう一方の型に対する演算を実装していないことを示すために返すべき特殊な値です。 インプレースの二項演算の特殊メソッド (例えば __imul__()、__iand__() など) も、同じ目的でこの値を返せます。 真偽値として評価してはいけません。 NotImplemented は types.NotImplementedType 型の唯一のインスタンスです。

注釈

二項演算 (またはインプレース演算) のメソッドが NotImplemented を返した場合、 インタープリタはもう一方の型に定義された対の演算を試みます (演算子によっては別の代替手段を試みます)。 すべての試行が NotImplemented を返した場合、インタープリタは適切な例外を送出します。 誤って NotImplemented を返すと、誤解を招くエラーメッセージが表示されたり、 NotImplemented の値が Python コードに返されたりします。

例として 算術演算の実装 を参照してください。

注意

NotImplemented と NotImplementedError は互いに置き換えられません。 この定数は、上で説明した用途にのみ使ってください。 例外の正しい使い方については NotImplementedError を参照してください。

バージョン 3.9 で変更: NotImplemented を真偽値として評価することは非推奨となりました。

バージョン 3.14 で変更: NotImplemented を真偽値として評価すると、TypeError が送出されるようになりました。 以前は True と評価され、Python 3.9 以降では DeprecationWarning も発生していました。

Ellipsis

省略を示すリテラル "..." と同じオブジェクトで、何かが省略されていることを示すためによく使われます。 Ellipsis には代入できますが、... に代入すると SyntaxError が送出されます。 Ellipsis は types.EllipsisType 型の唯一のインスタンスです。

__debug__

この定数は、Python が -O オプションを有効にして開始されたのでなければ真です。 assert 文も参照して下さい。

注釈

名前 None 、 False 、 True 、 __debug__ は再代入できない (これらに対する代入は、たとえ属性名としてであっても SyntaxError が送出されます) ので、これらは「真の」定数であると考えられます。

site モジュールで追加される定数

site モジュール (-S コマンドラインオプションが指定されない限り、スタートアップ時に自動的にインポートされます) は組み込み名前空間にいくつかの定数を追加します。それらは対話的インタープリタシェルで有用ですが、プログラム中では使うべきではありません。

quit(code=None)
exit(code=None)

表示すると "Use quit() or Ctrl-D (i.e. EOF) to exit" のようなメッセージを表示するオブジェクトです。 対話型インタープリタで直接入力するか、関数として呼び出すと、指定した終了コードで SystemExit を送出します。

help

表示すると "Type help() for interactive help, or help(object) for help about object." というメッセージを表示するオブジェクトです。 対話型インタープリタで直接入力すると、組み込みヘルプシステムを起動します (help() を参照してください)。

credits

表示あるいは呼び出されたときに、それぞれ著作権あるいはクレジットのテキストが表示されるオブジェクトです。

license

表示されたときに "Type license() to see the full license text" というメッセージを表示し、呼び出されたときには完全なライセンスのテキストをページャのような形式で (1画面分づつ) 表示するオブジェクトです。