目录: 装饰器 生成器 迭代器 Json & pickle 数据序列化 软件目录结构规范 1. Python装饰器 装饰器:本质是函数,(功能是装饰其它函数)就是为其他函数添加附加功能 原则: >不能修改被装饰的函数的源代码 >不能修改被装饰的函数的调用方式 实现装饰器知识储备: >函数即“变量” >高阶函数 a)把一个函数名当做实参传给另外一个函数(在不修改源代码的请情况下) b)返回值中包含函数名(不修改函数的调用方式) >嵌套函数 高阶函数+嵌套函数=>装…
装饰器 装饰器本质是函数,是用来装饰其他函数,顾名思义就是,为其他的函数添加附件功能的. 一.装饰器原则: 不能修改被装饰函数的源代码 不能修改被装饰函数的调用方式 def logging(): print("logging...") #正确写法,没有修改源码 def test1(): pass #错误写法,不能修改源码 def test1(): pass logging() # 调用方式,也不能被修改 test1() 二.装饰器知识: 函数即"变量" 高阶函数+嵌…
在学习python的时候,三大“名器”对没有其他语言编程经验的人来说,应该算是一个小难点,本次博客就博主自己对装饰器.迭代器和生成器理解进行解释. 为什么要使用装饰器 什么是装饰器?“装饰”从字面意思来谁就是对特定的建筑物内按照一定的思路和风格进行美化的一种行为,所谓“器”就是工具,对于python来说装饰器就是能够在不修改原始的代码情况下给其添加新的功能,比如一款软件上线之后,我们需要在不修改源代码和不修改被调用的方式的情况下还能为期添加新的功能,在python种就可以用装饰器来实现,同样在写…
类的内置方法(魔法方法): 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,也称之为魔法方法. 类的内置方法,会在某种条件满足下自动触发. 内置方法如下: __new__: 在__init__触发前,自动触发. 调用该类时,内部会通过__new__产生一个新的对象. __init__: 在调用类时自动触发. 通过产生的对象自动调用__init__() class Demo(object): # 条件: __new__: 在__init__触发前,自动触发. def __new__(…
一.反射 下述四个函数是专门用来操作类与对象属性的,如何操作? 通过字符串来操作类与对象的属性,这种操作称为反射 class People: country="China" def __init__(self,name): self.name=name def tell(self): print('%s is aaa' %self.name) obj=People('egon') 1.hasattr print(hasattr(People,'country')) print('cou…
1.def __add__(self,other): c1+c2 两个实例的加法操作就是执行__add__()方法 2.__str__(self): print一个实例的时候,执行的是__str__()这个内置方法 eg: class Vector(object):      def __init__(self,a,b):          self.a = a          self.b = b      def __str__(self):          return 'Vector…
一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静态方法的不同点: 类方法必须有一个cls参数表示这个类,可以使用类属性 静态方法不需要参数 绑定方法:分为普通方法和类方法 普通方法:默认有一个self对象传进来,并且只能被对象调用-------绑定…
while 条件: 条件成立之后循环执行的子代码块 每次执行完循环体子代码之后都会重新判断条件是否成立 如果成立则继续执行子代码如果不成立则退出 break用于结束本层循环 ### 一:continue:结束本次循环,开始下一次循环 1.直接让代码再次回到while循环的条件判断处,重新判断条件在执行,这就叫做continue break结束本层循环 # continue结束本次循环 continue会让循环体代码直接回到条件判断处重新判断 ### 2.while+else 当while循环没有…
先来逼逼两句: 在实际开发中,经常需要将一组(不只一个)数据存储起来,以便后边的代码使用.在VBA中有使用数组,可以把多个数据存储到一起,通过数组下标可以访问数组中的每个元素.Python 中没有数组,但是加入了更加强大的列表(list).下面就对列表的内置方法进行介绍. 通过dir(list)可以查看列表的属性和内置方法. print(dir(list)) Python学习交流Q群:660193417### ['__add__', '__class__', '__contains__', '_…
# class 内置方法: # __setitem__ # __getitem__ # __delitem__ class Test(): X = 100 def __getitem__(self, item): print("getitem") def __setitem__(self, key, value): print("setitem") def __delitem__(self, key): print("delitem") xx =…