构造(__new__
)和初始化(__init__
)
(1)Python对象包括3个部分:id(identity识别码)、type(对象类型)、value(对象的值)。(对象值包括方法和属性)
(2)创建类分为两步:第一步创建类的对象;第二步对类进行初始化。(一般情况下不会用到__new__,除非希望控制类)
使用__new__创建类,然后使用__init__对类进行初始化。
(3)Python中的self相当于C++中的self指针,JAVA中的this关键字。
(4)定义实例方法时候,第一个参数必须为self,self指的是当前实例对象。
(5)调用实例方法是,不需要也不能给self传值,self有解释器自动传参。
函数和方法的区别
(1)都是用来完成一个功能的语句块,本质一样。
(2)方法调用时候,通过对象来调用。方法从属于特定实例对象,普通函数没有这个特点。
(3)直观上看,方法定义时候需要传递self,函数不需要。
#-*-coding:utf-8-*-
class studet:
def __init__(self,name,score):#self必须位于第一位参数
self.name = name
self.score = score
def say_score(self):#self必须位于第一位参数
#say_score方法
print("{0}的分数:{1}".format(self.name,self.score))
s1 = studet("零一",70)#通过类名调用构造函数
s2 = studet("一二",82)
s2.say_score()
studet.say_score(s2)