Python 如何编写没有返回和参数的lambda

Python 如何编写没有返回和参数的lambda,python,python-2.7,lambda,Python,Python 2.7,Lambda,我想将一个函数/lambda传递给一个方法,然后在python 2.7中调用它: def foo(f): f() 我尝试了很多方法,但没有找到正确的语法。比如这个 foo(lambda: print("hallo")) 导致 foo(lambda: print("hallo")) ^ SyntaxError: invalid syntax 我知道这是可行的: foo(lambda x: None) 但我不知道如何让lambda实际执

我想将一个函数/lambda传递给一个方法,然后在python 2.7中调用它:

def foo(f):
    f()
我尝试了很多方法,但没有找到正确的语法。比如这个

foo(lambda: print("hallo"))
导致

    foo(lambda: print("hallo"))
                    ^
SyntaxError: invalid syntax
我知道这是可行的:

foo(lambda x: None)
但我不知道如何让lambda实际执行某些操作,同时返回
None


相关:,尽管答案中的lambda什么也不做:(

您使用的是哪一版本的python?这在Python3上运行良好。6@Nullman2.7抱歉,将添加到问题“代码>打印< /COD>是Python 2中的一个语句,因此不能在lambda中使用。@ Ar.Fy我想lambda执行一个语句,这是不可能的。一个全局变量的值作为一个不同的示例,您使用的是哪个版本的python?这在Python3上运行良好。6@Nullman2.7抱歉,我想在问题中补充一点,
print
是python 2中的一条语句,因此不能在lambda中使用。@Aran-Fey我想lambda执行一条语句,这是不可能的?@Aran-Fey无论如何
print只是一个例子,考虑将全局变量的值设置为不同的示例。