簡體   English   中英

如何聲明函數然后將其分配給同一行中的變量?

[英]How do I declare a function and then assign it to a variable in the same line?

我有一個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中實現。 但我找不到任何東西。 我怎樣才能做到這一點?

使用lambda函數:

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

如果您沒有: lambda函數,這是一個很好的機會讓您了解它們

使用lambda:

something = lambda: print("Hello")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM