一、饰器实现一个函数计时器
比较用for循环拼接,和系统内置拼接函数.join的速度
二、被修饰的函数有返回值
在装饰器中将函数的返回值传给一个参数,并返回这个参数
三、保留被装饰函数的函数名和帮助信息文档
-
@functools.wraps(fun)
添加这个东西 -
print(con_add.doc)
打印帮助文档如果没有帮助文档,则返回None -
print(con_add.name)
打印函数名
四、创建装饰器, 要求如下:
- 创建add_log装饰器, 被装饰的函数打印日志信息;
- 日志格式为: [字符串时间] 函数名: xxx, 运行时间:xxx, 运行返回值结果:xxx
老师的:
五、创建装饰器,要求如下
如果输入为root用户,则打印添加学生信息
否则,则打印:not root user
此题目为了介绍inspect.getcallargs的用法
六、编写装饰器required_ints, 条件如下:
1). 确保函数接收到的每一个参数都是整数; 如何判断变量的类型?
type(s), isinstance(s,str)
2). 如果参数不是整形数, 抛出异常raise TypeError(“参数必须为整形”)