如何解释 python3 的帮助输出?

How do interpret python3's help output?

在python3中,例如sorted的帮助输出是:

"sorted(iterable, /, *, key=None, reverse=False)"

“/”和“*”是什么意思?

帮助(已排序)

python2 输出为

sorted(iterable, cmp=None, key=None, reverse=False) --> 新排序列表

那么 python3 中的 '/' 和 '*' 是什么?

/ 标记仅位置参数的结束和位置或关键字参数的开始,而 * 标记位置或关键字参数的结束和关键字的开始-仅参数。

对于签名为sorted(iterable, /, *, key=None, reverse=False)sorted函数,这意味着iterable参数只能指定为位置参数,因此您不能调用sorted(iterable=some_list),并且 keyreverse 参数只能指定为关键字参数,因此不能调用 sorted(some_list, some_func, True).

详情请参考PEP-0457