python装饰器的构建
2024-09-05 08:46:46
#!/usr/bin/python3
# -*-coding:utf-8 -*-
# @Time : 2019/9/27 17:04
# @Author : v_ctaozhang import functools # 不带参数的装饰器
def log(func):
@functools.wraps(func)
def wrapper(*args,**kwargs):
print('call %s()'%func.__name__)
return func(*args,**kwargs)
return wrapper @log
def now():
print("现在的时间是:2019年9月27日") now() # 带参数的装饰器
def log(text):
def decorator(func):
@functools.wraps(func)
def wrapper(*args,**kwargs):
print('%s %s():'% (text,func.__name__))
return func(*args,**kwargs)
return wrapper
return decorator @log("我是带参数的装饰器")
def nowAndPrint():
print("我是被装饰器带参数包装的方法") nowAndPrint() # 打印出调用的函数名
print(now.__name__)
print(nowAndPrint.__name__)
最新文章
- VisualStudio 调试Linux
- JS复习
- NET Core 1.0 RC2
- Zookeeper 启动错误
- Linux(Ubuntu)使用日记------Mongodb的安装与使用
- vue+el-menu设置了router之后如何跳转到外部链接
- ASPxGridView 添加勾选列--全选 和 后端获取勾的行ID
- 五、es6 Set
- 20165221—JAVA第六周学习心得
- 扫二维码登录实现原理,php版
- jQuery开发API参考
- JavaWeb之Maven一
- poj2965 【枚举】
- js算法初窥06(算法模式03-函数式编程)
- BZOJ4154:[Ipsc2015]Generating Synergy(K-D Tree)
- Linux内核分析——第二章 从内核出发
- wim2008 让FTP防火墙可用性配置
- Python开发【模块】:time、datatime
- MAC终端安装指定版本node
- 160718、jsoup-1.8.1.jar操作html