我知道两种声明函数的方法(下面的例子)。还有别的办法吗?
#example 1
def f(x): return x
#example 2
f = lambda x: x
可以在给定代码对象和全局命名空间的情况下直接创建函数。这是,而不是你几乎在任何实际代码中都会用到的。
下面是一个简单的例子:
>>> import types
>>> code_obj = compile('print("hello world")', '', 'single')
>>> g = {'print': print}
>>> f = types.FunctionType(code_obj, g)
>>> f()
hello world