class:是一個(gè)面向?qū)ο蟮念?,用來描述具有相同的屬性和方法的?duì)象的集合,類可以起到模版的作用,所以在創(chuàng)建實(shí)例的時(shí)候,可以將我們認(rèn)為必要的屬性填寫進(jìn)去,方法__init__第一個(gè)參數(shù)是self,在方法內(nèi)部
self表示創(chuàng)建實(shí)例本身,所以就可以把各種屬性綁定到self
參數(shù)實(shí)例化后,類下的所有方法,都可以調(diào)用實(shí)例參數(shù),格式,self.參數(shù)名,實(shí)例如下
class Cc(object):
#class 是關(guān)鍵字(表示要開始創(chuàng)建類了),Cc是新建的類名稱,object為類的繼承,沒有合適的繼承類用object類,這是所有類最終會(huì)繼承的類
? ? def aa(self):#aa被稱為函數(shù)或者方法,self表示創(chuàng)建實(shí)例本身,所以就可以把各種屬性綁定到self
? ? ? ? print('aa')##實(shí)現(xiàn)的功能
? ? def bb(self):
self.aa()#同class下def調(diào)用
class Student(object):
def __init__(self, name, score):#第一個(gè)參數(shù)是self,實(shí)例化時(shí)不用實(shí)際傳參,self在__init__里面代表實(shí)例的本身,后面的參數(shù)正常傳遞
? ? ? ? self.name = name
????????self.score = score
def get_grade(self):
????????if self.score >=90:#格式,self.參數(shù)名
? ? ? ? ? ????? print('A')
????????????????return 'A'
? ? ? ? elif self.score >=60:
????????????????return 'B'
? ? ? ? else:
????????????????return 'C'
? ? def Name(self):
????????????if self.score >=90:
????????????print(f'{self.name}')
if __name__=='__main__':
Cc().bb()#self,不需要傳遞參數(shù)
? ? Student=Student('問問', 94)# 實(shí)例化類Student,參數(shù)實(shí)例化后,類下的所有方法,都可以調(diào)用實(shí)例參數(shù)
? ? Student.get_grade()
Student.Name()
調(diào)用:在類中定義函數(shù),類和函數(shù)都可作為一個(gè)模塊保存。要調(diào)用類或函數(shù)只需要import這個(gè)類或函數(shù)所在模塊名稱就可以了。在一個(gè)模塊當(dāng)然可以訪問另外一個(gè)模塊的類。