如何声明函数然后将其分配给同一行中的变量?

时间:2016-07-10 18:05:01

标签: python

我有一个Button类,它有一个变量when_pressed,它应该是一个函数。为了这个问题,我们假设它永远是一个函数,而不是int。当您按下Button类的实例时,将调用when_pressed中包含的函数。所以你可以这样做:

def pressed():
    print("Pressed")
button = new Button()
button.when_pressed = pressed

按下按钮时会打印Pressed。有道理。

但我在其他任何地方都不需要这个功能。我正在处理一个低内存环境,所以这样做会更容易:

button = new Button()
button.when_pressed = function():
    print("Pressed")

您可以在Javascript中执行此操作,因此我认为它也可以在Python中实现。但是我找不到任何东西。我怎么能这样做?

2 个答案:

答案 0 :(得分:5)

使用lambda功能:

button.when_pressed = lambda: print('pressed')

如果你没有这样做,这里很有可能让你了解它们:lambda functions

答案 1 :(得分:2)

使用lambda:

something = lambda: print("Hello")