1.装饰器01
装饰器:
把一个函数当作参数,返回一个替代版的函数
本质上就是一个返回函数的函数
“在不改变原函数的基础上,给函数增加功能”
def outer(func):
def inner(age):
if age < 0:
age = 0
func(age)
return inner
@outer #语法糖 say = outer(say)
使用@符号将装饰器应用到函数
def say(age):
print(‘man is %d years old’ %age)
2.装饰器02
login()执行这个函数。
3.装饰器03
装饰器实现一个函数计时器
import time
import random
import string
import functools
导入模块
li = [random.choice(string.ascii_letters) for i in range(100)]
随机出现大小字母。
这就是一个函数计时器。
由此可见内置函数运行时间较快。
运行步骤复杂,运行时间长。
第一个是显示函数中被注释的内容
第二个是显示函数的名字
4.装饰器04
创建装饰器, 要求如下:
1.创建add_log装饰器, 被装饰的函数打印日志信息;
2.日志格式为: [字符串时间] 函数名: xxx, 运行时间:xxx, 运行返回值结果:xxx
先导入
import functools
import time
5.装饰器05
import functools
import inspect
装饰器:
使用装饰器的函数:
运行函数:add_student(‘root’)