我在python docs中遇到过这种方法签名。这是什么意思?例如。
smtplib.SMTP([host[, port[, local_hostname[, timeout]]]]
一般语法如function([x[,y[,z]]])
?
答案 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语言的语法,而是文档约定。