Python全系列 教程
3567个小节阅读:5931.9k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
一个函数不止有他的执行语句,还有着 __name__
(函数名),__doc__
(说明文档)等属性,我们之前的例子会导致这些属性改变。
functool.wraps
可以将原函数对象的指定属性赋值给包装函数对象,默认有module、name、doc,或者通过参数选择。
【示例】wraps装饰器案例
xxxxxxxxxx
# coding=utf-8
from functools import wraps
def mylog(func):
@wraps(func)
def infunc(*args,**kwargs):
print("日志纪录...")
print("函数文档:",func.__doc__)
return func(*args,**kwargs)
return infunc
@mylog # fun2 = mylog(fun2)
def fun2():
"""强大的功能2"""
print("使用功能2")
if __name__ == '__main__':
fun2()
print("函数文档--->",fun2.__doc__)
"""
运算结果:
日志纪录...
函数文档: 强大的功能2
使用功能2
函数文档---> 强大的功能2
"""