小编典典

斜杠在help()输出中意味着什么?

python

在闭括号前/,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.


阅读 201

收藏
2020-12-20

共1个答案

小编典典

它象征着结束位置唯一参数,参数,你不能作为关键字参数使用。在Python 3.8之前,此类参数只能在C API中指定。

这意味着keyto的参数__contains__只能通过position(range(5).__contains__(3))传递,而不能作为关键字参数(range(5).__contains__(key=3))传递,这可以通过pure-python函数中的position参数来完成。

另请参阅Argument Clinic文档:

要将所有参数标记为Argument Clinic中的“仅位置”,请/在最后一个参数之后单独添加一行,并与参数行缩进相同。

和(最近添加的)Python FAQ:

函数的参数列表中的斜杠表示该函数之前的参数仅是位置参数。仅位置参数是没有外部可用名称的参数。调用仅接受位置参数的函数时,参数将仅基于其位置映射到参数。

从3.8版开始,语法现在已成为Python语言规范的一部分,请参阅PEP 570 –仅Python位置参数。在PEP 570之前,该语法已被保留以供将来可能在Python中使用,请参阅PEP 457-仅位置参数的语法。

仅限位置的参数可以导致更清晰的API,使原本仅限C的模块的纯Python实现更加一致且更易于维护,并且由于仅位置的参数需要很少的处理,因此它们可导致更快的Python代码。

2020-12-20