要在已经写好的函数上添加新内容,我们可以通过三种方式。
1)
def fun1():
print('00000')
def fun2():
fun1()
print('hhhh')
fun1()
运行结果:
00000
hhhh
00000
2)
def fun1():
print('00000')
def fun2(a):
print('hhhh')
fun2(fun1())
运行结果:
00000
hhhh
3)装饰器:
import time
def decorator(func):
def wrapper():
print(time.time())
func()
return wrapper
@decorator
def f1():
print('aaa')
f1()
装饰器传参
import time
def decorator(func):
def wrapper(*args,**kwargs):
print(time.time())
func(*args,**kwargs)
return wrapper
@decorator
def f3(func_name1,func_name2,**kwargs):
print('This is function ' + func_name1)
print('This is function ' + func_name2)
print(kwargs)
f3('test1','test2',a=1,b&