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等,就更好。這就是自訂類別存在的好處了:
class Person: def __init__(self, name, age, sex): self.name = name self.age = age self.sex = sex def __str__(self): #重载该函数便于测试 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)
可以看到,只要定義好這個類別的建構函數,就可以很方便的生成這個類別的實例,並且引用資料成員也很方便,比直接使用內建類型方便多了。其實Python就是用內建類型dic來實作自訂類別的成員的儲存和引用的,從這個角度來看,自訂類別是內建類別的簡化使用方式,而內建類型是自訂類型內部必要的組成部分。同時,由於自訂類別可以定義自己的成員函數或重載預先定義的方法,所以自訂類別擴展了內建類別的功能,可以提供對現實事物更好的模擬,這正是物件導向程式設計的優點。程式設計的時候,先對所要模擬的事物形成概念,然後盡量使用類別來抓住概念,這是物件導向設計的關鍵。如果需要產生多個同類的對象,應該盡可能地設計一個自訂類別去抽象化它們。
對自訂類別的使用也別過分,有些功能只需要定義一個函數就可以做到了,而這個時候就沒有必要設計一個自訂類別。
以上是python什麼時候使用類別的詳細內容。更多資訊請關注PHP中文網其他相關文章!