定义相同Python函数的简写方式?

1 投票
4 回答
2833 浏览
提问于 2025-04-16 15:41

如果我有很多变量想要用相同的值来初始化,我会这样做:

a = b = c = ""

有没有类似的简写方式可以用来定义很多做同样事情的函数呢?也就是说,下面这两种写法都不行:

def x() = y() = z():
def x() = def y() = def z():

4 个回答

0

嗯……函数也是一种对象,所以你可以这样做:

def foo():
   pass

bar = foo

如你所见,语法是一样的。

为什么你会想这么做,我也不知道。

1

这样怎么样:

def z():
    pass

x = y = z
6

你可以像给变量赋值一样给函数赋值。

def z():
  whatever

x = y = z

如果你想用 def 来定义函数,就不能在一行里完成,但如果你用 lambda,就可以写成一行:

x = y = z = lambda foo: bar()

撰写回答