当前位置: 首页 > news >正文

全国建设厅网站网站备案后有什么好处

全国建设厅网站,网站备案后有什么好处,网站留言模块,包头网络装饰器,其实是用到了闭包的原理来进行操作的。 单个装饰器: 以下是一个简单的例子: def outer(func):print("OUTER enter ...")def wrapper(*args, **kwargs):print("调用之前......")result func(*args, **kwargs)p…

装饰器,其实是用到了闭包的原理来进行操作的。

单个装饰器:

以下是一个简单的例子:

def outer(func):print("OUTER enter ...")def wrapper(*args, **kwargs):print("调用之前......")result = func(*args, **kwargs)print("调用之后......")return resultprint("OUTER leave ...")return wrapper@outer
def my_hello():print("hello world")

上面的代码可以运行出结果:

这个时候就会把这个闭包创建出来。

当我们调用my_hello函数的时候,会进行执行wrapper里的代码:

def outer(func):print("OUTER enter ...")def wrapper(*args, **kwargs):print("调用之前......")result = func(*args, **kwargs)print("调用之后......")return resultprint("OUTER leave ...")return wrapper@outer
def my_hello():print("hello world")my_hello()

调用原理:

等价于:

def outer(func):print("OUTER enter ...")def wrapper(*args, **kwargs):print("调用之前......")result = func(*args, **kwargs)print("调用之后......")return resultprint("OUTER leave ...")return wrapper# @outer
def my_hello():print("hello world")my_hello = outer(my_hello)
my_hello()

多重装饰器修饰:

def outer1(func):print("OUTER enter ...1")def wrapper(*args, **kwargs):print("调用之前......1")result = func(*args, **kwargs)print("调用之后......1")return resultprint("OUTER leave ...1")return wrapperdef outer2(func):print("OUTER enter ...2")def wrapper(*args, **kwargs):print("调用之前......2")result = func(*args, **kwargs)print("调用之后......2")return resultprint("OUTER leave ...2")return wrapper@outer1
@outer2
def my_hello():print("hello world")

打印的结果如下:

调用的时候:

def outer1(func):print("OUTER enter ...1")def wrapper(*args, **kwargs):print("调用之前......1")result = func(*args, **kwargs)print("调用之后......1")return resultprint("OUTER leave ...1")return wrapperdef outer2(func):print("OUTER enter ...2")def wrapper(*args, **kwargs):print("调用之前......2")result = func(*args, **kwargs)print("调用之后......2")return resultprint("OUTER leave ...2")return wrapper@outer1
@outer2
def my_hello():print("hello world")my_hello()

运行结果为:

调用原理:

def outer1(func):print("OUTER enter ...1")def wrapper(*args, **kwargs):print("调用之前......1")result = func(*args, **kwargs)print("调用之后......1")return resultprint("OUTER leave ...1")return wrapperdef outer2(func):print("OUTER enter ...2")def wrapper(*args, **kwargs):print("调用之前......2")result = func(*args, **kwargs)print("调用之后......2")return resultprint("OUTER leave ...2")return wrapper# @outer1
# @outer2
def my_hello():print("hello world")my_hello = outer2(my_hello)
my_hello = outer1(my_hello)my_hello()

运行结果如下:

http://www.yayakq.cn/news/613674/

相关文章:

  • 国外好玩的网站注册公司名称的要求
  • 网泰网站建设广州网站建设好公司
  • 宁波网站建设建站系统网页设计开发培训班
  • 长春网站设计策划书关于建设网站业务系统的请示
  • 一般门户网站wordpress 数字交易
  • 网站建设的审批部门是笑话网站域名
  • 南昌做网站的公司多不多电商网站的数据库设计
  • 电子商务网站建设 教材手机版怎么用百度快照
  • 免费快递网站源码网络写作平台
  • 昆明网站建设博滇西安活动策划执行公司
  • 做网站公司济南网站域名商
  • 移动端商城网站开发百度推广助手官方下载
  • 物流如何做网站陕西省建设厅网站官网
  • 华为建站模板开发邦平台
  • 国外单页制作网站模板网站 留言 以邮件形式
  • 学校网站建设通知广州大型公司名单
  • ie 10 常用网站贵州旅游网站建设策划书
  • 如何用dw做php网站代码网站建设能挣钱
  • 外贸网站建设公司网站存储空间大小
  • 怎么样做网站 用网站赚钱专业移动网站建设商
  • 合肥做网站找哪家好关键词林俊杰
  • 网站创意设计公司手机网站推荐大全
  • e网科技网站wordpress 论坛整合
  • 网站备案现场建设网站的页面设计
  • 创意产品网站福建省城乡建设官方网站
  • 建设一个类似于京东的网站网络规划设计师下午考点汇总
  • 商务网站建设的一般流程是什么网站视频做背景
  • 江苏省职业建设注册管理中心网站保健品网站建设方案书模板
  • 小城镇建设网站答案网站建设制作费
  • 58同城烟台网站建设wordpress获取文章第一张图片