python中所有的數據都是對象,它提供了許多高級的內建數據類型,功能強大,使用方便,是Python的優點之一。那么什么時候使用自定義類呢?比如設計一個Person類,如果不使用自定義類,可以這樣做:
person=['mike',23,'male']#0-姓名,1-年紀,2-性別
print(person[0],person[1],person[2])
可以看到,使用內建類型list,需要用下標來引用成員數據,不直觀。可以改用dic類型來做:
person1={'name':'mike','age':23,'sex':'male'}
person2={'name':'hellen','age':20,'sex':'female'}
print(person1['name'],person1['age'],person1['sex'])
這樣不用記憶下標,直觀多了。但是字典的語法仍然有些麻煩,如果能夠像這樣引用:person.name,person.age等,就更好。這就是自定義類存在的好處了:
classPerson:
def__init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
def__str__(self):#重載該函數便于測試
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)
可以看到,只要定義好這個類的構造函數,就可以很方便的生成這個類的實例,并且引用數據成員也很方便,比直接使用內建類型方便多了。其實Python就是用內建類型dic來實現自定義類的成員的存儲和引用的,從這個角度來看,自定義類是內建類的簡化使用方式,內建類型是自定義類型內部必要的組成部分。同時,由于自定義類可以定義自己的成員函數或者重載預定義的方法,所以自定義類擴展了內建類的功能,可以提供對現實事物更好的模擬,這正是面向對象編程的優點。編程的時候,先對所要模擬的事物形成概念,然后盡量使用類來抓住概念,這是面向對象設計的關鍵。如果需要產生多個同類的對象,應該盡可能地設計一個自定義類去抽象它們。對自定義類的使用也別過分,有些功能只需要定義一個函數就可以做到了,這個時候就沒有必要設計一個自定義類。
以上內容為大家介紹了python培訓之class怎么用,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。