Python文档规定,如果函数仅采用单个参数,则省略括号是合法的。
myfunction "Hello!"
生成语法错误。那怎么办?
(我正在使用Python 3.1)
编辑:
我仅阅读的语句适用于 生成器表达式 :
仅带有一个参数的调用可以省略括号。
为了您的编辑:
如果写下生成器表达式,就象stuff = (f(x) for x in items)需要方括号一样,就象需要[ .. ]列表遍历一样。
stuff = (f(x) for x in items)
[ .. ]
但是,当您将某些内容从生成器表达式传递到函数时(这是一种非常常见的模式,因为这是生成器背后的主要思想),那么您就不需要两组括号-而不是类似s = sum((f(x) for x in items))(用括号括起来的东西)函数调用,内部为生成器表达式),您可以编写sum(f(x) for x initems)
s = sum((f(x) for x in items))
sum(f(x) for x initems)