随笔分类 -  Python学习整理

有不足的地方欢迎指正!
摘要:property 即静态方法 property补充 另一种用法 阅读全文
posted @ 2019-10-13 22:52 绝世刘 阅读(128) 评论(0) 推荐(0)
摘要:一、与函数的装饰器一样,类也可以被装饰 在装饰器给类设置属性 上述代码在装饰器函数中把属性写死了,如果不同的类需要设置不同的属性呢 与前面描述符应用结合,类的装饰器的应用 阅读全文
posted @ 2019-10-13 13:10 绝世刘 阅读(207) 评论(0) 推荐(0)
摘要:一、针对name属性的类型检查 但是上述代码只能针对字符串进行判断,所以需要改进 阅读全文
posted @ 2019-10-11 17:53 绝世刘 阅读(145) 评论(0) 推荐(0)
摘要:一、上下文管理协议其实就是 with obje as f 在文件操作时用过,with open("a.txt","r") as f: 当时的好处就是不用手动关闭文件了 学到现在我们知道了,其实open也是一个类,之所以能用 with as 是类里做了“小手脚” 上述过程: 1. with obj > 阅读全文
posted @ 2019-10-09 23:25 绝世刘 阅读(337) 评论(0) 推荐(1)
摘要:一、概念: Python 中,通过使用描述符,可以让程序在引用一个对象属性时自定义要完成的工作。 本质上看,描述符就是一个类,只不过它定义了另一个类中属性的访问方式。 换句话说,一个类可以将属性全权委托给描述符类。 描述符类基于以下3个特殊方法: ♦ __set__ (self, instance, 阅读全文
posted @ 2019-10-07 15:37 绝世刘 阅读(233) 评论(0) 推荐(0)
摘要:一、 二、迭代器实现斐波那契额数列 阅读全文
posted @ 2019-10-06 23:34 绝世刘 阅读(472) 评论(0) 推荐(0)
摘要:一、__slots__ 用来取代 __dict__ 优势是省内存 附加功能是只能创建slots 定义好的key 注意:不要乱用,用了就没有__dic__方法了 二、__doc__ 查看类文档,该属性无法继承 三、__module__ : 查看当前操作的对象在哪个模块 __class__ :查看当前操 阅读全文
posted @ 2019-10-06 23:24 绝世刘 阅读(164) 评论(0) 推荐(0)
摘要:像上面这样实例化后以操作字典的方式增删查才可以实现 二、__str__ 及__repr__ 可以自己定制str方法,控制打印的信息,由print 触发str __repr__是在python解释中触发 当__str__ 与__repr__共存时 如果__str__ 没有被定义, 那么就会使用__re 阅读全文
posted @ 2019-10-06 11:39 绝世刘 阅读(249) 评论(0) 推荐(0)
摘要:授权:授权是包装的一个特性,包装一个类型通常是对已存在的类型的一些定制, 这种做法可以新建,修改或删除原有产品的功能。其它的则保持原样。授权的过程, 即是所有更新的功能都是由新类的某部分来处理,但已存在的功能就授权给对象的默认属性。 实现授权的关键点就是要覆盖__getattr__方法 改写其中的w 阅读全文
posted @ 2019-10-01 18:25 绝世刘 阅读(236) 评论(0) 推荐(0)
摘要:一、我们在前面的章节中学习了 __getattr__ __setattr__ 以及 __delattr__的用法, 其实这些都是类的内置函数,如果我们在自己定义的类里重写了这几个函数, 会直接覆盖了类中这几个函数的默认功能,换个角度,我们可以直接改写这些函数,让它在已有 功能的基础上添加新功能 二、 阅读全文
posted @ 2019-09-29 00:13 绝世刘 阅读(199) 评论(0) 推荐(0)
摘要:--import__("模块名") 导入字符串模块名,然后可以赋值给一个变量 对于模块来说,如果被调用的方法前加“-” 变为私有属性后, from m1.t imoprt * 就不能引入那个方法了 但是可以用 模块定位模块方法 阅读全文
posted @ 2019-09-26 23:59 绝世刘 阅读(283) 评论(0) 推荐(0)
摘要:一、反射的概念 是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。 这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域采用, 并在Lisp和面向对象方面取得了成绩。 二、四个可以实现自省的函数 ① hasat 阅读全文
posted @ 2019-09-26 23:34 绝世刘 阅读(458) 评论(0) 推荐(0)
摘要:一、多态 什么是多态: 由不同的类实例化得到的对象调用同一个方法,执行的逻辑相同。 多态体现在最后的执行上 多态的概念指出了对象如何通过他们共同的属性和动作来操作及访问,而不需考虑他们具体的类 多态实际上是依附于继承的两种含义的:“改变”和“扩展”本身就意味着必须有机制去自动选用你扩展过的版本, 故 阅读全文
posted @ 2019-09-26 15:06 绝世刘 阅读(389) 评论(0) 推荐(0)
摘要:父类名 . __init__(self, ...) 可以将父类中的init中的属性重复调用,减少代码的重复 父类名 . 函数名(self) 子类中调用父类中类方法的逻辑 super 方法 调用父类逻辑时,不用担心类名的变动 super().__init__(name, speed, load, po 阅读全文
posted @ 2019-09-05 21:15 绝世刘 阅读(3631) 评论(0) 推荐(0)
摘要:一、继承 类的继承跟现实生活中的父子、孙子、重孙子等一样,父类又被称为基类 在python中继承分为单继承和多继承 子类集成了父类的所有类属性 子类定义的属性如果跟父类同名了,优先拿自己定义的值 因为下面例子中Son没有init函数,所以实例化Son的时候会触发继承的父类的init,所以需要传入两个 阅读全文
posted @ 2019-09-04 21:50 绝世刘 阅读(387) 评论(0) 推荐(0)
摘要:类跟类之间没有共同点,但是有关联,所以要用组合来解决 例如:学校、老师、课程 ,它们是完全不同的事物,但是,学校有老师,老师教课程给学生,即有关联 阅读全文
posted @ 2019-09-03 10:43 绝世刘 阅读(210) 评论(0) 推荐(0)
摘要:一、静态属性(绑定实例) 其实就是数据属性 通过装饰器 @property 将函数属性伪装成数据属性 二、类方法 (绑定类) 将@calssmethod 写在类里面的函数前,该函数称为类方法 不需要实例化,类可以直接调用,但是只能访问类属性 三、静态方法 (即不绑定类,又不绑定函数) 通过 @sta 阅读全文
posted @ 2019-09-01 22:23 绝世刘 阅读(223) 评论(0) 推荐(0)
摘要:#学校 #老师 #课程 #班级 #学生 阅读全文
posted @ 2019-09-01 11:20 绝世刘 阅读(263) 评论(0) 推荐(0)
摘要:一、类的增删改查 类里面定义的函数,第一个参数一定要写 self ,因为class的特殊性 定义类名:首字母大写 函数属性命名:动词加名词(即干什么事) 二、实例属性的增删改查 #查 #增 注意:不要修改底层的属性字典,即 p1.__dict__ #p1.__dict__['sex'] = 'mal 阅读全文
posted @ 2019-09-01 00:01 绝世刘 阅读(504) 评论(0) 推荐(0)
摘要:一、面向对象设计(Object Oriented Design) 将一类具体事物的数据和动作整合到一起,即面向对象设计 理解两个概念: 类:把一类事物的相同的特征和动作整合到一起就是类,类就是一个抽象的概念 对象:就是基于类而创建的一个具体的事物(具体存在的),也就是特征和动作整合到一起 例: 二、 阅读全文
posted @ 2019-08-31 11:25 绝世刘 阅读(226) 评论(0) 推荐(0)