如何从 Python 官方文档中读取函数签名

l7l*_*ll7 5 python signature

如果浏览官方 Python 文档,可以看到各种函数(或类)签名。

对于例如

random.uniform(a, b)

很容易理解:您向它传递两个对象ab(它们是浮点数,它从它们之间的间隔返回一个随机数)。同样容易理解的是签名来自

SSLSocket.getpeercert(binary_form=False)

其中还指定了参数的默认值,以防它在没有任何参数的情况下被调用。


但是也有一些函数具有非常奇怪的签名,例如

min(iterable, *[, key, default])

或者

readline.append_history_file(nelements[, 文件名])

或者

csv.register_dialect(名称[,方言[,**fmtparams]])

这些都是什么意思?是否有一些参考指南解释如何阅读诸如name[, dialect[, **fmtparams]]

这些示例只是从官方 Python 文档中随机抽取的,并未涵盖我遇到的所有签名类型。我需要一个如何阅读这些签名的一般解释。

Lau*_*RTE 5

下面示例中的星号表示keydefault是仅关键字参数:

min(可迭代,*[,键,默认])

方括号中的参数是可选的,因此以下文件名是可选的:

readline.append_history_file(nelements[, 文件名])

带有单个星号的参数意味着该函数可以有任意数量的位置参数,例如:

a_function(a, b, *args)

带 2 个星号的参数意味着该函数可以有任意数量的关键字参数,例如:

类字典(映射,**kwarg)

Python 文档中解释了一切:函数定义