/
Python 3.4 のhelp
出力におけるrange
閉じ括弧の前の はどういう意味ですか?
>>> help(range)
Help on class range in module builtins:
class range(object)
| range(stop) -> range object
| range(start, stop[, step]) -> range object
|
| Return a virtual sequence of numbers from start to stop by step.
|
| Methods defined here:
|
| __contains__(self, key, /)
| Return key in self.
|
| __eq__(self, value, /)
| Return self==value.
...
ベストアンサー1
それは、位置のみのパラメータ、キーワード パラメータとして使用できないパラメータ。Python 3.8 より前では、このようなパラメータは C API でのみ指定できました。
key
これは、引数がキーワード引数 ( )としてではなく、__contains__
位置引数 ( ) によってのみ渡されることを意味します。これは、純粋な Python 関数の位置引数で実行できることです。range(5).__contains__(3)
range(5).__contains__(key=3)
以下も参照議論クリニックドキュメンテーション:
Argument Clinic ですべてのパラメータを位置のみとしてマークするには、
/
最後のパラメータの後に、パラメータ行と同じインデントで 1 行だけ追加します。
そして(ごく最近追加された)Python よくある質問:
関数の引数リスト内のスラッシュは、その前のパラメータが位置のみであることを示します。位置のみのパラメータは、外部で使用可能な名前がないパラメータです。位置のみのパラメータを受け入れる関数を呼び出すと、引数は位置のみに基づいてパラメータにマッピングされます。
この構文は現在Python言語仕様の一部となっている。バージョン3.8以降、 見るPEP 570 – Python の位置のみのパラメータPEP 570より前に、この構文はPythonに将来組み込まれる可能性に備えてすでに予約されていました。PEP 457 -位置指定のみのパラメータの構文。
位置のみのパラメータを使用すると、API がよりクリーンかつ明確になり、C のみのモジュールの純粋な Python 実装の一貫性が高まり、保守が容易になります。また、位置のみのパラメータでは処理がほとんど必要ないため、Python コードが高速になります。