面向对象最重要的概念就是类(class)和实例(instance),类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”,每一个对象都从类中继承有相同的方法,但各自的数据可能不同。
class类包含:
类的属性:类中所涉及的变量
类的方法:类中函数
self函数的用法 :
(1)self代表类的实例,而非类。
(2)在Python解释器的内部,当我们调用t.ppr()时,实际上Python解释成Test.ppr(t),也就是把self替换成了类的实例。
(3)在继承时,传入的是哪个实例,就是那个传入的实例,而不是指定义了self的类的实例。
(4)在描述符类中,self指的是描述符类的实例
_init_函数(初始化)的用法:
1、带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。
2、init函数(方法)支持带参数的类的初始化,也可以为声明该类的属性
3、init函数(方法)的第一个参数必须是self(self为习惯用法,也可以用别的名字),后面的参数则可以自由定义,和定义函数没有任何区别。
使用 _ init_()方法语法格式:
格式一(无形参):
def _ init_(self):
self.变量名1=值1
格式二(有形参):
def _ init_(self,行参1,行参二)
self.属性名1 = 形参1
self.属性名2 = 行参2
1、_ init_()方法在创建对象时被运行,无需调用即可执行
2、_ init_()方法如有行参,在创建时需出传递对应的实参
python类中成员的调用
python类中的方法到底到底是方法还是函数取决于调用者
当类名调用这个方法时他是一个函数;当以实例调用时他是一个方法