Python全栈开发:装饰器实例
2024-10-07 19:09:54
#!/usr/bin/env python
# -*- coding;utf-8 -*-
"""
1、将outer函数放入内存
2、遇见@ + 函数名,则将该函数转换为装饰器,并将@ + 函数名之后的最近的函数作为被装饰的对象
3、将inner()放入内存,返回inner
4、被装饰的对象函数调用时f1(),执行inner函数内容,遇见调用被装饰的对象时,调用被装饰函数,继续执行函数体,返回r
""" def outer(func):
def inner(*args, **kwargs):
print("前面")
r = func(*args, **kwargs)
print("后面")
return r
return inner @outer
def f1(*args, **kwargs):
print(*args, **kwargs)
f1(11, 22) @outer
def f2(a, b):
print(a + b) def f3(*args, **kwargs):
print(*args)
print(**kwargs)
li = {1: 1, 2: 2}
f3(11, 22, {1: 2})
最新文章
- 《奥威Power-BI智能分析报告制作方法 》精彩回顾
- kvo-观察者-iOS
- javascript设计模式-观察者模式
- The Datastore
- selenium python 第一个脚本
- 8.MVC框架开发(URL路由配置和URL路由传参空值处理)
- HTML5 Canvas 2D绘图
- cobaltstrike3.5使用记录
- Linux raid信息 查看
- Codeforces Round #460 D. Karen and Cards
- MyEclipse 的智能提示设置 使开发写代码的速度更快
- 关于DataTable序列化的事儿
- JAVA时间工具类,在维护的项目里的
- Metasploit Framework(7)客户端渗透(下)
- [转帖]Htop 使用详解
- 数据增强(每10度进行旋转,进行一次增强,然后对每张图片进行扩充10张patch,最后得到原始图片数*37*10数量的图片)
- [转]data-driven与决策树聚类的两种方法
- 解决Java Web项目中Word、Excel等二进制文件编译后无法打开的问题
- Linux netstat命令具体解释
- Okhttp封装、网络层扩展
热门文章
- 玩转gulp之watch监听文件自动编译
- [Nowcoder] 中位数
- (转) mysql的分区技术 .
- Xcode输出中文
- static 关键字的使用及说明
- python中面向对象
- 15-Ubuntu-文件和目录命令-查看目录内容-ls-2
- 错误Exception in thread ";main"; java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream排查思路
- PHP算法之增减字符串匹配
- AM8互联设置方法