Übergeben einer Funktion als Argument in Python Ich wollte beim Schreiben einer Funktion einen Lambda-Ausdruck übergeben, aber in Python2 ist print kein Ausdruck, sondern eine Anweisung, daher kann ich ihn nicht in einen Lambda-Ausdruck einfügen. tat. Importieren Sie also das Modul \ _ \ future_ und ändern Sie es wie Python3 von einer print-Anweisung in einen print-Ausdruck.
#Kann in Python 2 nicht definiert werden(Weil print eine Aussage ist)
# a = lambda: print "hoge"
#Kann in Python 3 definiert werden(Weil Druck ein Ausdruck ist)
a = lambda: print("hoge")
#So definieren Sie in Python2
from __future__ import print_function
a = lambda: print("hoge")
Das Problem ist jedoch, dass Sie alle __print "hogehoge" in print ("hogehoge") __ ändern müssen. Wenn Sie es in Python2 verwenden, ist es besser, es auf eine eingeschränkte Verwendung zu beschränken, z. B. das Importieren in eine Methode.
appendix
Action<string> act = (string x) =>
{
if(x == "hoge") Console.WriteLine(x);
else Console.WriteLine("Außer Hoge");
}
a = lambda: 5 #Lambda-Ausdruck, der 5 zurückgibt
Es scheint, dass Sie mit schreiben können.
Recommended Posts