1 面向对象基础
1.1 面向对象编程
面向过程编程:类似于工厂的流水线
- 优点:逻辑清晰
- 缺点:扩展性差
面向对象编程:核心是对象二字,对象属性和方法的集合体,面向对象编程就是一堆对象交互
-
优点:扩展性强
-
缺点:逻辑非常乱
1.2 类与对象
-
对象:属性和方法的集合体
-
类:一系列相同属性和方法的集合体
现实世界中先有对象后有类,python中先有类,再实例化出对象
1.3 对象的属性的查找顺序
先对象本身-->类-->父类-->父类的父类-->object-->自己定制的元类-->type
1.4 给对象定制独有属性
在__init__方法中没有出现过,属于对象自己的属性或者方法
class People:
pass
p1 = Peolple()
p1.name = 'nick'
p2 = People()
p2.name = 'tank'
1.5 对象的绑定方法
在类里面定义,并且第一个参数是对象本身的方法.对象可以通过点号来调用的方法
class People:
def eat(self):
print(self, 'eat....')
p1 = Peolple()
p1.eat()
p1.name = 'nick'
p2 = People()
p2.eat()
p2.name = 'tank'
1.6 类与数据类型
一种数据类型实际上就是一个类.只不过类名是小写的.
一个空类就相当于不带参数的实例化
lis = [1,2,3] # lis = list([1,2,3])
class foo:
def __init__(self,name):
self.name = name
f = foo('name')
lis.append(4) # 对象调对象绑定的方法,会自动传参
list.append(lis,4) # 类调用对象绑定的方法,必须得传参