在 Python 中声明函数的不同方式

Different ways of declaring a function in Python

我知道两种声明函数的方法(下面的示例)。还有其他方法吗?

#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