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

Python 如何声明一个函数,然后将其分配给同一行中的变量?,python,Python,我有一个按钮类,它有一个变量,当你按下时,它就是一个函数。为了回答这个问题,我们假设它始终是一个函数,而不是类似于int的东西。当按下按钮类的实例时,将调用When_pressed中包含的函数。所以你可以这样做: def pressed(): print("Pressed") button = new Button() button.when_pressed = pressed 按下按钮时,将打印按下的。有道理 但我在其他任何地方都不需要这个功能。我正在处理一个内存不足的环境,因此这样

我有一个
按钮
类,它有一个变量,
当你按下时,它就是一个函数。为了回答这个问题,我们假设它始终是一个函数,而不是类似于
int
的东西。当按下
按钮
类的实例时,将调用
When_pressed
中包含的函数。所以你可以这样做:

def pressed():
    print("Pressed")
button = new Button()
button.when_pressed = pressed
按下按钮时,将打印按下的
。有道理

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

button = new Button()
button.when_pressed = function():
    print("Pressed")
您可以在Javascript中实现这一点,因此我认为在Python中也是可能的。但我在上面什么也找不到。如何执行此操作?

使用函数:

button.when_pressed = lambda: print('pressed')
这是一个很好的机会让你了解它们,如果你没有:

使用lambda:

something = lambda: print("Hello")

如果我需要多行代码,我该怎么做?打印多行代码?不,当我需要执行多条语句时。那么,你应该编写一个常规函数Python调用了一些东西,但它们实际上并不等同于Javascript的匿名函数。在Python中,它们只能包含一个表达式,即变量赋值等是不可能的。