python装饰器内获取函数有用信息方法,python装饰,装饰器内获取函数有用
python装饰器内获取函数有用信息方法,python装饰,装饰器内获取函数有用
装饰器内获取函数有用信息方法
.__doc__用于得到函数注释信息
.__name_用于得到函数名
在函数引用装饰器的时候,函数名会变为装饰器内部执行该函数的名字,所有在直接执行函数名加.__doc__或__name_的时候得到的是,装饰器内部函数的注释信息和名字。因为函数名被替换了。
所以想得到实际的内容,需要引用一个模块,from functools import wraps,并在装饰器函数内部再加一个@wraps的形式改变,得到实际想得到的信息。
作用是在函数加上装饰器后让能够得到真正原来的注释信息及函数名
举例:
from functools import wraps
def logger(f):
@wraps(f)
def inner(*args, **kwargs):
"""
:param args: 函数名,密码
:param kwargs: 备用
:return: True
"""
ret = f(*args, **kwargs)
return ret
return inner
@logger
def login(username,password):
"""
此函数是完成登录功能的函数,需要用户名,和密码两个参数,返回True 登陆成功
:return: True
"""
print(666)
return True
# login(1,2) #inner()
# # login(‘alex‘, 123)
print(login.__doc__)
print(login.__name__)
python装饰器内获取函数有用信息方法
相关内容
- python==使用smtp发送邮件的源代码,解决554错误码的问题
- Python—MySQL线程池,,python实现版本
- python-面向对象(绑定方法与非绑定方法),python-面向
- python ORM - sqlalchemy 操作使用,ormsqlalchemy,python操作数据
- Python定时模块之sched,Python模块之sched,一、sched模块
- python---django中orm的使用(4)字段,参数(on_delete重点)
- python中高阶函数与装饰器(2),,函数返回值为内置函数
- Python基础之函数,递归。,python递归,一.数学定义的函
- python面试题(转),,1.How are
- python 之Entry,pythonentry,# Tkinter教
评论关闭