web-dev-qa-db-ja.com

Python:help()の出力でスラッシュはどういう意味ですか?

/平均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.

                                        ...
113
Joschua

私は自分でこの質問をしました。 :) /は、もともとGuidoによって here で提案されたことがわかりました。

代替案:「/」の使用はどうですか? 「キーワード引数」を意味する「*」の反対で、「/」は新しい文字ではありません。

それから彼の提案 won

へえ。それが本当なら、私の '/'プロポーザルが勝ちます:

 def foo(pos_only, /, pos_or_kw, *, kw_only): ...

これをカバーする非常に関連性の高いドキュメントは、 PEP 57 だと思います。要約セクションが素敵に見えるところ。

要約

ユースケースは、関数定義で使用するパラメーターを決定します。

 def f(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):

ガイダンスとして:

名前が重要でないか、意味がない場合に位置のみを使用し、常に同じ順序で渡される引数がわずかしかない場合。名前に意味があり、名前を明示的に指定することで関数定義がより理解しやすい場合は、キーワードのみを使用します。


関数が/で終わる場合

def foo(p1, p2, /)

これは、すべての機能引数が定位置であることを意味します。

7
prosti