一个关于python装饰器的问题

想问一下,使用这个@logger语句为什么取不到flag的值?我想用@logger实现功能,不想用

out = logger(3)(out)

out()

实现,怎么做,两个语句功能不应该是一样的吗?

import time

def logger(flag = 0):
    def show_time(func):
        def inner():
            func()
            print(flag)
        return inner   
    return show_time

@logger(0)
def out():
    print('printing……')

程序运行结果:

图片说明

0

1个回答

呃,找到了,忘记调用了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python使用装饰器(Decorator)的方式实现单例模式
demo python使用装饰器(Decorator)的方式实现单例模式 functools.wraps 则可以将原函数对象的指定属性复制给包装函数对象, 默认有 __module__、__name__、__doc__,或者通过参数选择
python装饰器写的斗地主
利用python的装饰器功能,编写的一个关于斗地主洗牌和抓牌的算法
迭代器,生成器和装饰器
主要介绍了python关于迭代器 生成器和装饰器相关内容,介绍详细,容易理解
WPF 去边框 自定义窗体 装饰器版
这是一个wpf 自定义 拖拽 无边框 的demo。用到的相关wpf知识点:binding,ICommand,Decorator,Template,WindowChrome。给刚接触的新人提供快速定义窗口的相关思路。
python高级语法
Python生成器,迭代器,装饰器思维导图
pythonminiweb
python miniweb,还有Python 闭包和装饰器介绍,添加路由
Python装饰器decoder.py
Python装饰器decoder.py 装饰模式有很多经典的使用场景,例如插入日志、性能测试、事务处理等等,有了装饰器, 就可以提取大量函数中与本身功能无关的类似代码,从而达到代码重用的目的。下面就一 步步看看Python中的装饰器。
python离散数据的遗传算法
遗传算法Python版,可外部注册适应度函数(通过@装饰器)
python提高
python提高 主要进程线程协程 网络编程 生成器迭代器装饰器
Stackoverflow 上关于 Python 的问题
Stackoverflow 上关于 Python 的问题
QQ空间装饰器QQ空间装饰器QQ空间装饰器QQ空间装饰器QQ空间装饰器
QQ空间装饰器QQ空间装饰器QQ空间装饰器QQ空间装饰器QQ空间装饰器QQ空间装饰器QQ空间装饰器QQ空间装饰器QQ空间装饰器
Python中装饰器的应用
重点,装饰器的作用是将封装类属性的方法get__attr和set_attr变化为属性进行操作盒处理,但是另外一点需要注意的是加了装饰器的方法名称和类中原是属性的名称不许相同。比如例子中的score和_score其实是不同的,只有如此,程序运行才能正常。 总之,装饰器目的在于让类的属性读写更为方便,代码更为简洁。
D2D系统的信道分配
这个代码是一个基于Python的关于d2d信道分配的问题,在蜂窝网络下如何进行信道分配。
C#设计模式--装饰器模式(手机例子)工程源代码下载
设计模式: 装饰器模式(Decorator Pattern) 简单介绍: 装饰器模式(Decorator Pattern): 假设有一部手机你购买来以后只有手机,然后你需要再给其添加一些装饰,比如保护壳,钢化膜或者手机贴画等,这个就是装饰者模式的思想 装饰器模式主要组成部分: Component:定义一个对象接口,可以给这些对象动态地添加职责 ConcreteComponent:定义一个对象,可以给这个对象添加一些职责 Decorator:维持一个指向Component的指针,并定义一个与Component接口一致的接口 ConcreteDecorator:负责向ConcreteComponent添加功能 在装饰模式中,Decorator定义了一个装饰接口类。因为Decorator与ConcreteComponent继承同一个接口,所以继承Decorator的类ConcreteDecorator可以使用ConcreteComponent的方法,再在ConcreteDecorator里面加入一些新的方法,也就是装饰,就成为了一个包装好的装饰类。
装饰器(Decorator)模式
装饰器(Decorator)模式 详细教程,简明易懂,非常清晰的,附带有代码示例。
深度学习实战项目
深度学习实战项目 本章将概要介绍什么是装饰器,以及装饰器如何与Python 的函数和类交互。本章还列 举了几个Python 标准类库中常见的装饰器。最后,本章提供了编写装饰器并将其附加到函 数和类上的指南
流畅的python(非扫描版)
流畅的python非扫描版,涵盖python基本语法,装饰器,面向对象特征,ducktype,协程,多线程和元编程等高级内容
一个关于jspsmartupload下载的问题 一个关于jspsmartupload下载的问题
一个关于jspsmartupload下载的问题 一个关于jspsmartupload下载的问题 一个关于jspsmartupload下载的问题
Python Read and Write
python高阶知识,包括作用域,装饰器等等的解释。注意是mobi版本,适用于kindle阅读器。
python高级部分课件
python高级部分:迭代器、生成器、闭包、装饰器、import、作用域、深拷贝、浅拷贝以及资源回收机制和面向对象等
Python高级 文档
python高级用法文档:包括http协议、web、闭包、装饰器等。
骑士游历问题 骑士游历递归
用递归等算法制作,可以用的
python 16进制
python中关于如何打印16进制数字的问题,今天写的python程序中遇到这个问题,现在查的一些资料
Python进阶(Intermediate Python) 中文PDF彩色版
《Python进阶》是《Intermediate Python》的中译本,对Python中的装饰器与推导式等高级用法做了详细说明,适合于掌握Python基础后的进一步提高。 Python的语法相当简洁,即使是生成器、装饰器与推导式等的高级特性利用时,同样可以发挥Pyhton简单高效的优点。 Pyhton3.x与2.x版本语法存在不同的地方,《Pyhton》进阶中的例子会贴出Python3与Pyhton2两个版本的代码,比较难能可贵。
python教程pythonpython
关于python的入门教程关于python的入门教程关于python的入门教程关于python的入门教程关于python的入门教程关于python的入门教程
Python学习手册(第4版)-第8部分&附录.pdf )
Python学习手册 第4版第4部分: 第八部分 高级话题注 第36章 Unicode和字节字符串 Python 3.0中的字符串修改 字符串基础知识 字符编码方法 Python的字符串类型 文本和二进制文件 Python 3.0中的字符串应用 常量和基本属性 转换 编码Unicode字符串 编码ASCII文本 编码非ASCII文本 编码和解码非ASCII文本 其他Unicode编码技术 转换编码 在Python 2.6中编码Unicode字符串 源文件字符集编码声明 使用Python 3.0 Bytes对象 方法调用 序列操作 创建bytes对象的其他方式 混合字符串类型 使用Python 3.0(和Python 2.6)bytearray对象 使用文本文件和二进制文件 文本文件基础 Python 3.0中的文本和二进制模式 类型和内容错误匹配 使用Unicode文件 在Python 3.0中读取和写入Unicode 在Python 3.0中处理BOM Python 2.6中的Unicode文件 Python 3.0中其他字符串工具的变化 re模式匹配模块 Struct二进制数据模块 pickle对象序列化模块 XML解析工具 本章小结 本章习题 习题解答 第37章 管理属性 为什么管理属性 插入在属性访问时运行的代码 特性 基础知识 第一个例子 计算的属性 使用装饰器编写特性 描述符 基础知识 第一个示例 计算的属性 在描述符中使用状态信息 特性和描述符是如何相关的 __getattr__和__getattribute__ 基础知识 第一个示例 计算属性 __getattr__和__getattribute__比较 管理技术比较 拦截内置操作属性 重访基于委托的Manager 示例:属性验证 使用特性来验证 使用描述符验证 使用__getattr__来验证 使用__getattribute__验证 本章小结 本章习题 习题解答 第38章 装饰器 什么是装饰器 管理调用和实例 管理函数和类 使用和定义装饰器 为什么使用装饰器 基础知识 函数装饰器 类装饰器 装饰器嵌套 装饰器参数 装饰器管理函数和类 编写函数装饰器 跟踪调用 状态信息保持选项 类错误之一:装饰类方法 计时调用 添加装饰器参数 编写类装饰器 单体类 跟踪对象接口 类错误之二:保持多个实例 装饰器与管理器函数的关系 为什么使用装饰器(重访) 直接管理函数和类 示例:“私有”和“公有”属性 实现私有属性 实现细节之一 公有声明的泛化 实现细节之二 开放问题 Python不是关于控制 示例:验证函数参数 目标 针对位置参数的一个基本范围测试装饰器 针对关键字和默认泛化 实现细节 开放问题 装饰器参数 VS 函数注解 其他应用程序:类型测试 本章小结 本章习题 习题解答 第39章 元类 要么是元类,要么不是元类 提高魔力层次 “辅助”函数的缺点 元类与类装饰器的关系:第一回合 元类模型 类是类型的实例 元类是Type的子类 Class语句协议 声明元类 编写元类 基本元类 定制构建和初始化 其他元类编程技巧 实例与继承的关系 示例:向类添加方法 手动扩展 基于元类的扩展 元类与类装饰器的关系:第二回合 示例:对方法应用装饰器 用装饰器手动跟踪 用元类和装饰器跟踪 把任何装饰器应用于方法 元类与类装饰器的关系:第三回合 “可选的”语言功能 本章小结 本章习题 习题解答 第九部分 附录注 附录A 安装和配置 附录B 各部分练习题的解答
分治法求解凸包问题
利用分治法求解凸包问题!c语言 #include<stdio.h> #define PPmax 30 #define random(x) (rand()%x) typedef struct node{ float x,y; }Point; Point DingDian[PPmax];//用于存放凸边形的顶点 int DingDnum=0; typedef struct Pointss { Point p1,p2; }SDian;
python while循环
一个关于python while循环的代码
Python 学习笔记
这是一个关于Python的学习笔记,学的很好
关于python的四本经典书可解决你对Python使用的几乎所有疑问
Core python programming.pdf Extending and Embedding the Python Interpreter.pdf Python Library Reference.pdf Python Tutorial.pdf 这四本书几乎可以解决你关于python的所有问题
PEAP-MSCHAPV2的论证
PEAP-MSCHAPV2的论证的基本流程,和一些相关的设置方法。
算法用回溯法解决迷宫问题
对于给定迷宫(n*n),和一个起始坐标和终点坐标,设计一个回溯算法,编程判断起点能否到达终点,若能打印出路径。 输入数据: 有文件input。txt给出数据。第一行有1个正整数n(表示迷宫大小),第二行为路径;‘x’表示墙。 结果输出: 若能打印路径,否则打印nopath! 输入文件示例: 输入: 4 00 33 。。。。 。。。。 x x x 。 。。。。 输出: 0 。。。 0 0 0 0 x x x 0 。。。x
Python比较全英文入门资料
收集比较好的Python开发文档,包括语法、GUI、数据分析
约瑟夫斯问题求解
南航 计算机软件技术基础 想查看南航计算机软件技术基础其他资源 请查看本人上传其他资源
n个工人作业分配问题回溯算法python实现-有解析过程
n个作业分配给n个人,这是有解析过程的一版,无解析过程的一版,请进入个人主页下载。18级学姐自主完成的算法作业,呕心沥血,基于四舍五入等于0基础的python实现,如果在语言规范上存在不足,那就。就憋着!哈哈哈哈哈,代码仅供参考,自己亲自码代码更酸爽!
解决三门问题python代码
比较好的三门问题的演示!如果您想不明白三门问题可以参考此程序。
分支界限作业分配
分支界限算法解决作业分配问题 利用C#语言实现
python参考文献
python参考文献,是你学习python的指南针。
5种MATLAB求解MTSP问题代码
5种非常好的MTSP求解MATLAB代码 每种代码注释非常详细
python用回溯法解决跳马问题(骑士巡游)
在6*6的棋盘中任意位置放置马,使其跳满所有的点并且不重复
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python装饰器学习 python装饰器教程