📜  自调用函数 - Python (1)

📅  最后修改于: 2023-12-03 14:57:08.786000             🧑  作者: Mango

自调用函数 - Python

自调用函数是指在定义函数时,立即调用该函数的一种方式。在 Python 中,可以使用 lambda 表达式和函数装饰器创建自调用函数。

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 表达式和函数装饰器来创建,它们能够很好地增强函数的灵活性和功能性。需要注意的是自调用函数通常用于一些临时性的操作,不建议在实际项目中频繁使用。