摘要: 多态: python 生来支持多态白话:一种事物的多种形态 (动物可以继承给狗,也可以继承给猫) class Animal: pass class Dog(Animal): def attack(self): pass 比如,其它语言: class Animal: pass class Dog(ob 阅读全文
posted @ 2017-10-22 23:39 静静别跑 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 封装: 【封装】 隐藏对象的属性和实现细节,仅对外提供公共访问方式。【好处】 1. 将变化隔离; 2. 便于使用;3. 提高复用性; 4. 提高安全性;【封装原则】 1. 将不需要对外提供的内容都隐藏起来; 2. 把属性都隐藏,提供公共方法对其访问。 广义封装: 把一些属性和方法放到类里,这本身就是 阅读全文
posted @ 2017-10-22 23:39 静静别跑 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 继承: 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类(基类或超类),新建的类是所继承的类的(派生类或子类) 人类和狗 有相同的属性, 提取了一个__init__方法,在这个方法里放一些共有的属性人类和狗 在相同的方法,提取了一个def func():方法,在这个方法里放 阅读全文
posted @ 2017-10-22 23:38 静静别跑 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 类命名空间和对象/实例命名空间: 创建类, 就会创建一个类的名称空间, 空间:存储类的属性 属性: 静态属性:直接定义在类下面 & 和类名关联 的变量 对象属性:在类内和self关联 & 类外和对象关联 的变量 动态属性:方法(函数) 内存空间的指向: class Foo: a = 1 b = [' 阅读全文
posted @ 2017-10-22 23:22 静静别跑 阅读(1209) 评论(0) 推荐(0) 编辑
摘要: 类外面: 函数 类里面 取决调用者 类.func(xx) 函数 对象.func() 方法 可以使用 MethodType, FunctionType来判断: from types import MethodType, FunctionType class A: def func(self): ret 阅读全文
posted @ 2017-10-22 18:22 静静别跑 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 元类type 1. 创建类的两种方式 (都是由type元类创建) 方式一: class Foo(object): # 默认metaclass = type, 当前类, 由type类创建 a = 'aaa' def func(self, x): return x + 1 方式二: Foo = type 阅读全文
posted @ 2017-10-22 18:18 静静别跑 阅读(116) 评论(0) 推荐(0) 编辑