千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > pythonclass怎么用

pythonclass怎么用

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-10 17:39:02 1699609142

python中所有的數(shù)據(jù)都是對象,它提供了許多高級的內(nèi)建數(shù)據(jù)類型,功能強(qiáng)大,使用方便,是Python的優(yōu)點(diǎn)之一。那么什么時(shí)候使用自定義類呢?比如設(shè)計(jì)一個(gè)Person類,如果不使用自定義類,可以這樣做:

person=['mike',23,'male']#0-姓名,1-年紀(jì),2-性別

print(person[0],person[1],person[2])

可以看到,使用內(nèi)建類型list,需要用下標(biāo)來引用成員數(shù)據(jù),不直觀??梢愿挠胐ic類型來做:

person1={'name':'mike','age':23,'sex':'male'}

person2={'name':'hellen','age':20,'sex':'female'}

print(person1['name'],person1['age'],person1['sex'])

這樣不用記憶下標(biāo),直觀多了。但是字典的語法仍然有些麻煩,如果能夠像這樣引用:person.name,person.age等,就更好。這就是自定義類存在的好處了:

classPerson:

def__init__(self,name,age,sex):

self.name=name

self.age=age

self.sex=sex

def__str__(self):#重載該函數(shù)便于測試

sep=','

returnself.name+sep+str(self.age)+sep+self.sex

person1=Person('mike',23,'male')

person2=Person('hellen',20,'female')

print(person1)

print(person2.name,person2.age,person2.sex)

可以看到,只要定義好這個(gè)類的構(gòu)造函數(shù),就可以很方便的生成這個(gè)類的實(shí)例,并且引用數(shù)據(jù)成員也很方便,比直接使用內(nèi)建類型方便多了。其實(shí)Python就是用內(nèi)建類型dic來實(shí)現(xiàn)自定義類的成員的存儲和引用的,從這個(gè)角度來看,自定義類是內(nèi)建類的簡化使用方式,內(nèi)建類型是自定義類型內(nèi)部必要的組成部分。同時(shí),由于自定義類可以定義自己的成員函數(shù)或者重載預(yù)定義的方法,所以自定義類擴(kuò)展了內(nèi)建類的功能,可以提供對現(xiàn)實(shí)事物更好的模擬,這正是面向?qū)ο缶幊痰膬?yōu)點(diǎn)。編程的時(shí)候,先對所要模擬的事物形成概念,然后盡量使用類來抓住概念,這是面向?qū)ο笤O(shè)計(jì)的關(guān)鍵。如果需要產(chǎn)生多個(gè)同類的對象,應(yīng)該盡可能地設(shè)計(jì)一個(gè)自定義類去抽象它們。對自定義類的使用也別過分,有些功能只需要定義一個(gè)函數(shù)就可以做到了,這個(gè)時(shí)候就沒有必要設(shè)計(jì)一個(gè)自定義類。

以上內(nèi)容為大家介紹了python培訓(xùn)之class怎么用,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT