Python中的函数
Python中的函数也是一种基本类型,我们可以将一个函数作为参数传入另一个函数中:
def fun(f):
print("执行了fun函数");
f()
def my():
print("换欢迎进入我的Python程序");
fun(my)
运行结果:
执行了fun函数
换欢迎进入我的Python程序
函数装饰器
现在,我们将上面的代码用函数装饰器改写一下:
def fun(f):
print("执行了fun函数");
f()
@fun
def my():
print("换欢迎进入我的Python程序");
运行结果
执行了fun函数
换欢迎进入我的Python程序
还可以向装饰器其中传入其他参数:
def fun(st):
print("执行了fun函数")
def wrap(f):
print("你传入的是:" + st)
f()
return wrap
@fun("你好")
def my():
print("欢迎进入我的Python程序");
运行结果
执行了fun函数
你传入的是:你好
欢迎进入我的Python程序
有些看不懂?没关系,我们将上面的代码转换成普通函数的格式:
def fun(st):
print("执行了fun函数")
def wrap(f):
print("你传入的是:" + st)
f()
return wrap
def my():
print("欢迎进入我的Python程序");
fun("你好")(my)
解释:
- fun函数接收一个字符串参数,当我们调用fun函数时,它会返回一个函数 wrap。
- 这个wrap函数接收一个函数类型的参数并调用它。