/ / (Python) Posso memorizzare le funzioni da sole, ma non il loro valore, in una lista - python, lista

(Python) Posso memorizzare le funzioni da sole, ma non il loro valore, in una lista - python, lista

Come puoi vedere dal codice qui sotto, aggiungo una serie di funzioni a un elenco. Il risultato è che ciascuna funzione viene eseguita e il valore restituito viene aggiunto all'elenco.

foo_list = []
foo_list.append(bar.func1(100))
foo_list.append(bar.func2([7,7,7,9]))
foo_list.append(bar.func3(r"C:Usersuserdesktopoutput"))

Quello che vorrei sapere è, è possibile avere la funzione memorizzata nella lista e quindi eseguire quando viene iterata su un ciclo for?

inserisci la descrizione dell'immagine qui

risposte:

4 per risposta № 1

Sì, basta usare lambda:

foo_list = []
foo_list.append(lambda: bar.func1(100))
foo_list.append(lambda: bar.func2([7,7,7,9]))
foo_list.append(lambda: bar.func3(r"C:Usersuserdesktopoutput"))

for foo in foo_list:
print(foo())