python装饰器

Python开发之路

爷,独闯天下 提交于 2019-12-01 13:59:31
第一部分 MarkDown 基本语法 001 Markdown 基本语法 第二部分 Python集成环境和解释器 002 Python解释器 003 Python解释器源修改 004 pip的使用 005 Python的IDE之Pycharm的使用 006 Python的IDE之Jupyter的使用 第三部分 计算机基础 007 计算机的基础编程 008 计算机组成.md 009 计算机操作系统 010 编程语言的分类 第四部分 Python基础 011 执行Python程序的两种方式 012 变量 013 常量 014 Python变量的内存管理 015 变量的三个特征 016 花式赋值 017 注释 018 数据的类型 019 解压缩,用户交互 020 格式化输出的三种方式 021 基础运算符 022 程序流程控制if判断 023 程序流程控制while判断 024 程序流程控制for循环 025 数字类型内置方法.md 026 字符串类型内置方法 027 列表类型内置方法 028 元组的内置方法 029 字典的内置方法 030 集合的内置方法 031 数据类型分类 032 深浅拷贝 033 异常处理 第五部分 文件处理 034 基本的文件处理 035 绝对路劲和相对路径 036 字符编码 037 Python2和Python3字符编码的区别 038 文件的三种打开方式 039

python进阶:装饰器

瘦欲@ 提交于 2019-12-01 13:31:15
1.闭包   简单理解:闭包就是多层函数的嵌套,外层函数的返回值是内层函数的引用。 def out_func(n): num = 100 def in_fucn(*args,**kwargs):     # nonlocal num if n % 2 == 0: # 里面没有修改num的值,直接使用可以,如果变成 num += n 则会报错,因此需要使用前加上nonlocal num return n + num       # return num += n else: return n- num return in_fucn test = out_func(10) ret = test() print(ret) # 结果 110   闭包的作用就是, 装饰器 。 2.装饰器   简单的理解:就是 不改变 函数 结构 的情况下,给函数 增加功能 。 def outter(func): def inner(*args,**kwargs): print("今天星期五") func(*args,**kwargs) print("下午我和,小红去吃烤鱼") return inner def test(*args,**kwargs): print("今天天气很不错") test = outter(test) # 标准写法 test() # 普通的调用了test函数

Python 装饰器

我的未来我决定 提交于 2019-12-01 12:57:47
1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 4 5 def out_func(fun): 6 def test(args): 7 print("验证") 8 return fun(args) 9 return test 10 11 12 @out_func 13 def func1(args): 14 print("this is func1! " + args) 15 return "return", func1 16 17 18 print(func1("bingfeng")) 来源: https://www.cnblogs.com/bfme/p/11687310.html

python装饰器

大兔子大兔子 提交于 2019-12-01 11:53:30
1.装饰器的基本使用 # 注意程序运行步骤 def decorator(func): # 这里的参数func其实就是foo函数 def inner(): print("1.程序第一步执行到这里") func() # 这里的func函数其实就是foo函数 print('3.这是inner函数') return inner def foo(): print('2.这是foo函数') foo = decorator(foo) foo() 来源: https://www.cnblogs.com/xingxingnbsp/p/11684216.html

第七章 面向对象

六眼飞鱼酱① 提交于 2019-12-01 10:23:11
7.1 面向对象基础 面向对象编程 (Object Oriented Programming, OOP ,面向对象程序设计) 优点和应用场景 : 业务功能较多时,通过面向对象归类 数据封装(创建字典存储数据) 游戏示例:创建一些角色,并根据角色需要再创建任务 封装思想 :将同一类的函数封装到同一个py文件中,以后方便使用 面向对象 :将同一类的函数封装到同一个class中,以后方便使用 对象名 :命名首字母大写 Note1(1) 函数式的应用场景 --> 各个函数之间是独立且无共用的数据 1. 基础概念 类 :具有相同方法和属性的一类事物 对象 、 实例 :一个拥有具体属性值和动作的具体个体 实例化 :从一个类得到一个具体对象的过程 # 定义一个类,Account class Account: # 方法, 哪个对象调用方法,其就是self def login(self,name): print(123) return 666 def logout(self): pass # 调用类中的方法 x = Account() # 实例化(创建)Account类的对象,开辟一块内存 val = x.login('henry') # 使用对象调用class中的方法 print(val) Note2(2) 应用场景 :用于很多函数,需要对函数进行归类和划分(封装) self :哪个对象操作

python设计模式

夙愿已清 提交于 2019-12-01 09:40:19
一、创建类设计模式 前言 什么样的程序员是一个好的程序员?学会很多门编程语言,就是一个好的程序员了么?事实上,学会一门编程语言不是一件很难的事,而“学会”一门编程语言是非常难的一件事。前一个“会”强调“能”,懂语法,能写简单的程序就算是前者的“会”了;后一个“会”,强调“精”,显然,光能写出“Hello World”并不算是后者的“会”,能熟练应用,并用编程语言解决各种问题,才算是真正的“会”。 点击阅读详情 1、Python与设计模式--单例模式 总线是计算机各种功能部件或者设备之间传送数据、控制信号等信息的公共通信解决方案之一。现假设有如下场景:某中央处理器(CPU)通过某种协议总线与一个信号灯相连,信号灯有64种颜色可以设置,中央处理器上运行着三个线程,都可以对这个信号灯进行控制,并且可以独立设置该信号灯的颜色。抽象掉协议细节(用打印表示),如何实现线程对信号等的控制逻辑。 加线程锁进行控制,无疑是最先想到的方法,但各个线程对锁的控制,无疑加大了模块之间的耦合。下面,我们就用设计模式中的单例模式,来解决这个问题。 什么是单例模式?单例模式是指:保证一个类仅有一个实例,并提供一个访问它的全局访问点。具体到此例中,总线对象,就是一个单例,它仅有一个实例,各个线程对总线的访问只有一个全局访问点,即惟一的实例。 点击阅读详情 2、Python与设计模式--工厂类相关模式

Python何时执行装饰器

孤街浪徒 提交于 2019-12-01 04:52:23
装饰器的一个关键特性是,它们在被装饰的函数定义之后立即运行。这 通常是在导入时(即 Python 加载模块时),如示例 7-2 中的 registration.py 模块所示。   示例 7-2 registration.py 模块 registry = [] def register(func): print('running register(%s)' % func) registry.append(func) return func @register def f1(): print('running f1()') @register def f2(): print('running f2()') def f3(): print('running f3()') def main(): print('running main()') print('registry ->', registry) f1() f2() f3() if __name__ == '__main__': main() 运行结果 running register(<function f1 at 0x0000027913AA8708>) running register(<function f2 at 0x0000027913AA8E58>) running main() registry -> [

python 学习目录

人走茶凉 提交于 2019-11-30 23:23:11
python基础 python基础一 pytcharm安装详细教程 python基础二 python基础数据类型 Python最详细,最深入的代码块小数据池剖析 深浅copy python基础数据类型补充以及编码进阶 python文件操作 python函数 python函数初识 python函数进阶 python迭代器(函数名的应用,新版格式化输出) 生成器,内置函数Ⅰ 匿名函数,内置函数II,闭包 python装饰器 python模块 自定义模块 模块I 软件开发规范 模块 模块与包 python面向对象 01 面向对象之:初识 02 面向对象之:类空间问题以及类之间的关系 03 面向对象之:继承 04 面向对象之:继承(以讲),封装,多态 05 面向对象之:类的成员 06 面向对象之:反射,双下方法 异常处理 网络编程 操作系统详解 网络协议篇(osi七层协议) 网络编程 并发编程 操作系统发展史 python并发编程之:多进程(理论部分) python并发编程之:多进程 python并发编程之:多线程(理论部分) python并发编程之:多线程 python并发编程之:协程 python额外知识学习 python递归函数 python二分查找算法 print输出带颜色方法 pycharm安装详细教程 面向对象开发原则:高内聚,低耦合 来源: https://www

Python装饰器

空扰寡人 提交于 2019-11-30 19:56:17
# class WithoutDecorators: # def some_static_method(): # print('this is a static method') # some_static_method = staticmethod(some_static_method) # def some_class_method(cls): # print('this is a class method') # some_class_method = classmethod(some_class_method) # WithoutDecorators.some_class_method() # WithoutDecorators.some_static_method() #类的静态方法申明(装饰模式)) class WithoutDecorators: def foo(self): print('foo') @staticmethod def some_static_method(): print('this is a some_static_method') WithoutDecorators.foo(WithoutDecorators()) #静态方法在调用类的非静态方法时候需要实例化类本身 #因此静态方法申明尽量只处理单一的与类属性无关的逻辑 @classmethod