面向对象
面向过程:函数是具体怎么执行的
面相对象:对谁执行
类和实例
类:自定义的对象数据类型就是面向对象中的类,类是所定义函数的集合(Class)
实例:根据类创造出的具体的对象,是集合里具体的对象
例如:
class Makeup:#Makeup为类名
di_zhuang = ["隔离","粉底"]#类变量:di_zhuang
cai_zhuang = ["眼影","腮红"]#类变量:cai_zhuang
def di_zhuang_step(self,di):#类的方法
print("挤出%s"%di)
print("用海绵蛋蘸取")
print("用海绵蛋将%s均匀拍打到脸上"%di)
print("%s上妆完成"%di)
def cai_zhuang_step(self,cai):#类的方法
print("挑选所需要的颜色")
print("用%s刷少量蘸取"%cai)
print("均匀晕染")
print("%s上装完成"%cai)
#换底妆
my_makeup = Makeup()#实例,实例对象
ge_li = my_makeup.di_zhuang[0]
my_makeup.di_zhuang_step(ge_li)
#彩妆
sai_hong = my_makeup.cai_zhuang[1]
my_makeup.cai_zhuang_step(sai_hong)
__init__方法
__init__
是构造函数
class Golden_Dog:
def __init__(self,name,barking,color):
#__init__第一个参数必须是self,self是实例本身
self.color=color
self.barking=barking
self.name=name#实例变量
def g(self):
print("%s"%self.name,self.color,self.barking)
my_g_dog=Golden_Dog("金毛","黄色","Woof~Woof~")#类的实例化
my_g_dog.g()#调用所定义的函数
self不用传参数,python解释器会自动将实例变量传入
什么是类的实例化?
变量名 = 类名称(初始化参数)
例如上段代码中的:
my_g_dog=Golden_Dog("金毛","黄色","Woof~Woof~")
简单来说,把类赋值一下给一个变量
面向对象三大特性
封装性,继承性,多态性