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