python装饰器初探(推荐)
作者:jingxian 时间:2023-01-19 14:40:27
一、含有一个装饰器
#encoding: utf-8
############含有一个装饰器#########
def outer(func):
def inner(*args, **kwargs):#要装饰f1(),这里用这俩形式参数,可以接受任意个参数,不管f1定义几个参数
print "1"
r = func(*args, **kwargs)#这里要用func,不要用f1
print "2"
return r
return inner
@outer #这里outer不要加括号
def f1(a1, a2):
print "a1 + a2 = "
return a1 + a2
f1(1,2)
二、含有两个(多个)装饰器
############含有二个装饰器#########
def outer0(func):#第一个
def inner(*args, **kwargs):
print "AAAAAAAAA"
r = func(*args, **kwargs)
print "BBBBBBBB"
return r
return inner
def outer(func): #第二个
def inner(*args, **kwargs):#要装饰f1(),这里用这俩形式参数,可以接受任意个参数,不管f1定义几个参数
print "1"
r = func(*args, **kwargs)#这里要用func,不要用f1
print "2"
return r
return inner
@outer0 #俩装饰器,流程就是:执行f1()的时候,先执行outer0.inner(),outer0.inner().func调用outer的inner函数,也就是outer.inner()函数作为outer0的参数,
# 然后outer.inner().func再调用f1()
@outer #这里outer不要加括号
def f1(a1, a2):
print "a1 + a2 = %d" %(a1+a2)
return 1
f1(1,2)
标签:python,装饰器
0
投稿
猜你喜欢
Python获取单个程序CPU使用情况趋势图
2021-11-19 02:36:59
Python实现连接dr校园网示例详解
2022-09-20 05:00:45
Python的join函数的用法及实例
2023-03-08 12:39:28
设计师和美工
2008-10-27 13:43:00
Python利用Pydub实现自动分割音频
2022-10-08 22:02:48
利用Psyco提升Python运行速度
2021-05-02 19:02:50
基于PyQt5制作一个windows通知管理器
2022-10-18 19:28:24
Python显示进度条的方法
2023-05-25 07:38:30
利用Python实现K-Means聚类的方法实例(案例:用户分类)
2023-05-15 13:14:34
成为一个顶级设计师的第三准则
2009-09-15 21:00:00
浅谈 Webpack 如何处理图片(开发、打包、优化)
2024-06-14 20:48:11
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2023-07-22 06:09:50
更改localhost为其他名字的方法
2023-11-23 08:07:52
使用sysbench来测试MySQL性能的详细教程
2024-01-14 14:33:54
.Net Core服务治理Consul使用服务发现
2023-06-25 07:49:19
Python接口自动化浅析数据驱动原理
2022-02-22 21:52:01
Pycharm中的下载安装、配置与测试方式
2023-11-18 01:53:27
SQL Server 2008中的MERGE(不仅仅是合并)
2010-10-15 14:16:00
打造设计你自己的字体 Ⅲ
2008-03-14 07:52:00
谈谈网页设计中的字体应用 (1) Font Set
2009-11-24 12:55:00