文章分类 - python全栈
摘要:1、描述符是什么: 描述符本质就是一个新式类, 在这个新式类中,至少实现了__get__(),__set__(),__delete__()中的一个, 这也被称为描述符协议 __get__():调用一个属性时,触发 __set__():为一个属性赋值时,触发 __delete__():采用del删除属
阅读全文
摘要:1)首先,写法不一样: class A:#旧式类 pass class B(object):#新式类 pass 2)在多继承中, 新式类采用广度优先搜索, 而旧式类是采用深度优先搜索。 3)新式类更符合OOP编程思想,统一了python中的类型机制。
阅读全文
摘要:上下文管理协议,即with语句, 为了让一个对象兼容with语句, 必须在这个对象的类中声明__enter__和__exit__方法 __exit__()中的三个参数分别代表异常类型,异常值和追溯信息, with语句中代码块出现异常,则with后的 所有代码 都无法执行, 若果没有错误,那么这三个值
阅读全文
摘要:析构方法,当对象在内存中被释放时,自动触发执行。 注:如果产生的对象仅仅只是python程序级别的(用户级),那么无需定义__del__, 如果产生的对象的同时还会向操作系统发起系统调用, 即一个对象有用户级与内核级两种资源,比如(打开一个文件,创建一个数据库链接), 则必须在清除对象的同时回收系统
阅读全文
摘要:对象后面加括号,触发执行。 注:构造方法的执行是由创建对象触发的,即:对象 = 类名() ; 而对于 __call__ 方法的执行是由对象后加括号触发的,即:对象() 或者 类()()
阅读全文
摘要:__module__ 表示当前操作的对象在那个模块 __class__ 表示当前操作的对象的类是什么
阅读全文
摘要:1、基本的迭代器: 2、看看 没有步长 默认为1 的range 3、看看有步长的 range 4、看看斐波拉切 数列
阅读全文
摘要:#看看 format 的功能 print("I LOVE {0},{1}".format("LUCY","LILY","MEIMEI")) #I LOVE LUCY,LILY ymd_dict={ "ymd":"{obj.year}{obj.month}{obj.day}", "dmy":"{obj.day}/{obj.month}/{obj.year}", "y:m:...
阅读全文
摘要:1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的__dict__属性字典 (类的字典是共享的,而每个实例的是独立的)为何使用__slots__:字典会占用大量内存,如果你有一个属性很少的类,但是有很多实例,为了节省内存可以使用__slots__取代实例的...
阅读全文
摘要:import this print (this.s)
阅读全文
摘要:python全栈包含 Python基础、前端开发、Web框架、缓存以及队列等, 还包含网络编程、web开发等 【...】python全栈目录 【0.0】开篇日志 【0.1】执行过程 【1.0】简单介绍 【1.1】解释器+编码(utf-8。unicode。ascii) 【1.2】python注释 【1
阅读全文
摘要:class Foo: def __init__(self,name): self.name = name def __str__(self): return "自定义的str 函数,用的时间 必须要用return" f1 = Foo("姚明") print(Foo) # print(f1) # 自定义的str 函数 class G...
阅读全文
摘要:内置函数__setitem__ __getitem__ __delitem__ 是对字典方式访问 如: f1["key"] 内置函数__setattr__ __getattr__ __delattr__ 是对 . 的方式访问 如: f1.key
阅读全文
摘要:class A: pass class B(A): pass print(issubclass(B,A)) #B是A的子类,返回True a1=B() print(isinstance(a1,A)) #a1是A的实例 print(isinstance(a1,B)) #a1是A的实例
阅读全文
摘要:改变对象的字符串显示__str__,__repr__ 自定制格式化字符串__format__
阅读全文
摘要:getattr 是用于点 访问的情况下 item、 是用于字典访问的情况下
阅读全文
摘要:看看前面的 getattr 在访问不存在的属性 时 就会 执行 内置函数 ——getattr——— class Foo: def __init__(self,x): self.x = x def __getattr__(self, item): print("属性不存在就会执行") f1 = Foo
阅读全文
摘要:授权:授权是包装的一个特性, 包装一个类型通常是对已存在的类型的一些定制, 这种做法可以新建,修改或删除原有产品的功能。其它的则保持原样。 授权的过程,即是所有更新的功能都是由新类的某部分来处理, 但已存在的功能就授权给对象的默认属性。 实现授权的关键点就是覆盖__getattr__方法 授权示范一
阅读全文
摘要:包装:python为大家提供了标准数据类型,以及丰富的内置方法, 其实在很多场景下我们都需要基于标准数据类型来定制我们自己的数据类型, 新增/改写方法, 这就用到了我们刚学的继承/派生知识 (其他的标准类型均可以通过下面的方式进行二次加工) 1、二次加工标准类型(基于继承实现) 2、clear 加权
阅读全文
浙公网安备 33010602011771号