Python中class和def的理解

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è)模塊的類。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容