在 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
我知道两种声明函数的方法(下面的示例)。还有其他方法吗?
#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