Python函数参数([x [,y [,z]]])含义

时间:2014-04-01 13:09:29

标签: python parameters

我在python docs中遇到过这种方法签名。这是什么意思?例如。

smtplib.SMTP([host[, port[, local_hostname[, timeout]]]]

一般语法如function([x[,y[,z]]])

2 个答案:

答案 0 :(得分:5)

这是指可选参数,每个括号表示函数调用的另一个特定级别(在这种情况下,该函数实际上是SMTP实例的构造函数)。所以你可以打电话......

smtplib.SMTP(host)

smtplib.SMTP(host, port)

smtplib.SMTP(host, port, local_hostname)

smtplib.SMTP(host, port, local_hostname, timeout)

如果您在the example查看此模块,则会拨打

server = smtplib.SMTP('localhost')

这将是上面构造函数的第一个版本

编辑:正如arshajii正确指出的那样,这不是语法,只是文档样式

答案 1 :(得分:5)

括在括号中的参数是可选的。例如,

foo(x[, y])

表示需要x,但y是可选的。在您的情况下,所有参数都标记为可选。

请注意,这不是不是 Python语言的语法,而是文档约定。