python什么时候用类_python中什么时候使用自定义类
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ù),不直觀。可以改用dic類型來做: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等,就更好。這就是自定義類存在的好處了:class?Person:
def?__init__(self,?name,?age,?sex):
self.name?=?name
self.age?=?age
self.sex?=?sex
def?__str__(self):?#重載該函數(shù)便于測試
sep?=?','
return?self.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è)自定義類。
總結(jié)
以上是生活随笔為你收集整理的python什么时候用类_python中什么时候使用自定义类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端遍历导致查询数据时间过长_OLAP
- 下一篇: python语言remove_慎用pyt