随笔分类 - 面向对象
摘要:-对象为什么可以被for循环? 答:变为可迭代对象。 class Foo(object): # def __iter__(self): # return iter([11,22,33]) def __iter__(self): yield 1 yield 2 yield 3 obj = Foo()
阅读全文
摘要:链接 #(1)__init__:初始化 #(2)__str__:在打印时改变对象的字符串显示,在打印类的时候会调用此方法,返回的是一个字符串 #(3)__repr__ #(4)__new__:创建对象。执行__init__之前执行__new__方法,在单例/rest framework序列化中使用过
阅读全文
摘要:示例 ''' class Foo(object): def __init__(self): self.storage = {} #上面代码想在对象中设置一个storage = {},但是上面语法执行完之后还没有进行创建,因为它要执行__setattr__方法进行创建, #但执行上面代码会触发类中__
阅读全文
摘要:参考 参考2 一、反射(******) 1 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省)。这一概念的提出很快引发了计算机科学领域关于应用反射性的研究。它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成
阅读全文
摘要:参考链接 参考链接2 一、继承 1、什么是继承 1)、继承是一种创建新类的方式, 2)、在python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类, 3)、新建的类称为派生类或子类 在开发程序的过程中,如果我们定义了一个类A,然后又想新建立另外一个类B,但是类B的大部分内容与类A的相同
阅读全文
摘要:参考链接 一、面向过程:面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。 优点:极大地降低了写成学的复杂度,只需要顺着执行的步骤,堆叠代码即可 缺点:一套流水线或者流程就是用来解决一个问题,如果修改代码就都
阅读全文