您好,登錄后才能下訂單哦!
小編給大家分享一下python怎么將實例用作屬性,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1、說明
由于模擬實物中會有越來越多的細節,導致一種類變得有些復雜,此時我們可以從中提取細節,將其作為一種類型,并將其作為子類型的屬性。
將子類中的電池給單獨分離出來,形成一個新的類。
2、實例
class Car: ---snip--- #創建子類時,父類文件必須包含在該文件中,且圓括號內必須包含父類的名稱 #---snip--- 表示上一個代碼中父類的基本屬性 class Battery:#先是定義了一個新類——Battery,他沒有繼承任何類。 """一次模擬電動汽車電瓶的簡單嘗試。""" def __init__(self,battery_size = 75):#其中有一個形參battery_size,這個形參是可選的,被默認為75.但不是默認值,仍然可以進行改變的 """初始化電瓶的屬性""" self.battery_size = battery_size def describe_battery_size(self): """打印一條描述電瓶容量的消息""" print(f"This car has a {self.battery_size}-kwh battery") def get_range(self): """打印一條消息,指出電瓶的續航里程""" if self.battery_size == 75: range = 260 elif self.battery_size == 100: range = 315 print(f"This car can go about {range} miles on a full charge") #雖然將原來的實例電池作為屬性,有點繁雜,但是整個之后可以方便我們對電池進行更詳細的描述,不至于在子類中顯得太繁雜 class Electric_Car(Car): """描述電動汽車類""" def __init__(self,make,model,year): """ 初始化父親的屬性 再初始化電動汽車特有的屬性 """ super().__init__(make,model,year)#super()能夠讓我們調用父類的方法 self.battery_size = Battery()#直接在子類的基本屬性中添加基本屬性了 def describe_battery(self):#添加新的方法 """打印一條描述電瓶容量的消息""" print(f"This car has a {self.battery_size.battery_size}-kwh battery.")#當battery沒有變成類的時候,battery相當于一個一個簡單 #的屬性并且已經是個默認值了。但是將battery變成類時,battery_size = Battery 然后需要去該類中尋找描述電池的方法,所以格式為,實例名.屬性.類方法 def fill_gas_tank(self): """電瓶車沒有汽油""" print(f"This car doesn't need a gas tank") my_tesla = Electric_Car('tesla','model s',2019) print(my_tesla.get_descriptive_name()) my_tesla.describe_battery() my_tesla.fill_gas_tank() my_tesla.battery_size.describe_battery_size() my_tesla.battery_size.get_range()
1、簡單易用,與C/C++、Java、C# 等傳統語言相比,Python對代碼格式的要求沒有那么嚴格;2、Python屬于開源的,所有人都可以看到源代碼,并且可以被移植在許多平臺上使用;3、Python面向對象,能夠支持面向過程編程,也支持面向對象編程;4、Python是一種解釋性語言,Python寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序;5、Python功能強大,擁有的模塊眾多,基本能夠實現所有的常見功能。
看完了這篇文章,相信你對“python怎么將實例用作屬性”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。