📅  最后修改于: 2023-12-03 14:57:08.786000             🧑  作者: Mango
自调用函数是指在定义函数时,立即调用该函数的一种方式。在 Python 中,可以使用 lambda 表达式和函数装饰器创建自调用函数。
Lambda 表达式是一种匿名函数,定义时不需要函数名,而是将函数定义放在 lambda
关键字后面。可以将 Lambda 表达式作为自调用函数来使用。
(lambda x: print(x*2))(3)
上述代码定义了一个 Lambda 表达式函数,它接受一个参数 x
,并将 x*2
的结果传给 print()
函数打印出来。括号中的 3
是立即传入 Lambda 表达式函数的参数。
执行以上代码,输出结果为 6
。
函数装饰器是 Python 中一种装饰器模式的具体实现,它可以在一个函数外面包装一层,来增加该函数的功能或修改该函数的行为。可以使用函数装饰器创建自调用函数来实现一些特殊的操作。
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Before function is called.")
result = func(*args, **kwargs)
print("After function is called.")
return result
return wrapper
@my_decorator
def my_function(x):
return x*2
my_function(3)
上述代码定义了一个函数装饰器 my_decorator
,它会在被装饰的函数 my_function
前面和后面打印一些信息,来增加该函数的功能。@my_decorator
表示将 my_function
函数用 my_decorator
装饰器进行装饰。
执行以上代码,输出结果为:
Before function is called.
After function is called.
6
可以看到,在执行 my_function(3)
时,会先打印 Before function is called.
,然后输出函数 my_function
的执行结果 6
,最后打印 After function is called.
。
自调用函数在 Python 中可以使用 Lambda 表达式和函数装饰器来创建,它们能够很好地增强函数的灵活性和功能性。需要注意的是自调用函数通常用于一些临时性的操作,不建议在实际项目中频繁使用。