python一行函数定义

7 浏览
0 Comments

python一行函数定义

这个问题应该很简单,但作为一个偶尔使用Python的用户,我对一些语法有些困惑。

这段代码可以正常工作:

def perms (xs):
    for x in itertools.permutations(xs): yield list(x) 

但是这段代码无法解析:

def perms (xs): for x in itertools.permutations(xs): yield list(x) 

是否有一些限制适用于单行函数语法?

函数体定义(for...)可以是两行或一行,def: 可以是一行或两行,但将两者结合起来会失败。

是否有一条语法规则排除了这种情况?

0