带参数的装饰代码示例
代码 参数 示例 装饰
2023-09-14 09:06:35 时间
def tag(name="div",title=None):
def _tag(func):
def deco(*args,**kwargs):
result = None
if title is None:
result = f"<{name}>"+func(*args,**kwargs)+f"</{name}>"
else:
result = f"<{name} class='{title}'>"+func(*args,**kwargs)+f"</{name}>"
return result
return deco
return _tag
@tag(name="h1",title="say")
def foo(msg):
return "hello world"
@tag()
def hello():
return "hehe"
print(foo("abc"))
print(hello())
通过第三方包wrapt简单的修改下:
import wrapt
def tag(name="div",title=None):
@wrapt.decorator
def _tag(wrapped, instance, args, kwargs):
result = None
if title is None:
result = f"<{name}>"+wrapped(*args,**kwargs)+f"</{name}>"
else:
result = f"<{name} class='{title}'>"+wrapped(*args,**kwargs)+f"</{name}>"
return result
return _tag
@tag(name="h1",title="say")
def foo(msg):
return "hello world"
@tag()
def hello():
return "hehe"
print(foo("abc"))
print(hello())
相关文章
- Unity3D研究院之打开Activity与调用JAVA代码传递参数
- 判断参数是否为空,只要一个值为空,就算空(代码库)
- Python操作Mysql实例代码教程在线版(查询手册)_python
- C# 代码实现设置用户"NETWORK SERVICE"具有对文件夹的读取权限。
- scala 隐式值和隐式参数组合代码示例
- 流式计算框架Storm网站访问来源实时统计及存储到redis代码示例
- 使用SAP WebIDE往Github上推送代码修改时遇到错误消息 Commit request failed Commit failed. Ref must be HEAD and is HEAD
- js工具代码封装(超长)1/3
- ML之R:回归预测任务之模型训练部分代码案例—单个模型推理并输出、各个模型基于单个参数训练调优、选择几个最佳模型再进行交叉训练确保模型稳定性实习代码
- android 9.0系统重启的代码详解
- 100天精通Python(可视化篇)——第82天:matplotlib绘制不同种类炫酷散点图参数说明+代码实战(二维散点图、三维散点图、散点图矩阵)
- 100天精通Python(数据分析篇)——第74天:Panda索引标签修改函数大全(参数说明+代码实战)
- 100天精通Python(数据分析篇)——第56天:Pandas读写txt和csv文件(read_csv、to_csv参数说明+代码实战)
- 100天精通Python(进阶篇)——第41天:自动化操作读写Excel(xlrd和xlwt模块参数说明+代码实战)
- 【ESN-PSO】基于PSO的回波状态网络参数分析,用于时间序列预测(Matlab代码实现)
- 【混合遗传规划和正交最小二乘法】基于混合遗传规划和正交最小二乘法的线性参数动态输入输出系统的模型结构识别(Matlab代码实现)
- DQN算法控制模拟旋转摆研究(Matlab代码实现)
- 帮助一个大兄弟修复完善了一下他的代码
- 如何消除代码山中那一大坨参数列表
- 智能优化算法应用:基于麻雀搜索算法PID参数优化 - 附代码
- 非线性参数的精英学习灰狼优化算法-附代码
- leaflet移动鼠标显示经纬度坐标(示例代码012)
- 代码覆盖率
- Android中如何在代码中设置View的宽和高?
- 【信号处理】MIMO信道容量(Matlab代码实现)
- 【故障诊断】用于轴承故障诊断的性能增强时变形态滤波方法及用于轴承断层特征提取的增强数学形态算子研究(Matlab代码实现)
- 【无线通信】使用凸优化来调整基于毫米波的无线通信参数(Matlab代码实现)
- 基于象虫损害优化算法的投资组合问题(Matlab代码实现)
- Gerrit代码提交: [remote rejected] prohibited by gerrit: ref update access denied报错解决