您好,登錄后才能下訂單哦!
小編給大家分享一下python怎么將實(shí)例用作屬性,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
1、說(shuō)明
由于模擬實(shí)物中會(huì)有越來(lái)越多的細(xì)節(jié),導(dǎo)致一種類(lèi)變得有些復(fù)雜,此時(shí)我們可以從中提取細(xì)節(jié),將其作為一種類(lèi)型,并將其作為子類(lèi)型的屬性。
將子類(lèi)中的電池給單獨(dú)分離出來(lái),形成一個(gè)新的類(lèi)。
2、實(shí)例
class Car: ---snip--- #創(chuàng)建子類(lèi)時(shí),父類(lèi)文件必須包含在該文件中,且圓括號(hào)內(nèi)必須包含父類(lèi)的名稱(chēng) #---snip--- 表示上一個(gè)代碼中父類(lèi)的基本屬性 class Battery:#先是定義了一個(gè)新類(lèi)——Battery,他沒(méi)有繼承任何類(lèi)。 """一次模擬電動(dòng)汽車(chē)電瓶的簡(jiǎn)單嘗試。""" def __init__(self,battery_size = 75):#其中有一個(gè)形參battery_size,這個(gè)形參是可選的,被默認(rèn)為75.但不是默認(rèn)值,仍然可以進(jìn)行改變的 """初始化電瓶的屬性""" 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): """打印一條消息,指出電瓶的續(xù)航里程""" 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") #雖然將原來(lái)的實(shí)例電池作為屬性,有點(diǎn)繁雜,但是整個(gè)之后可以方便我們對(duì)電池進(jìn)行更詳細(xì)的描述,不至于在子類(lèi)中顯得太繁雜 class Electric_Car(Car): """描述電動(dòng)汽車(chē)類(lèi)""" def __init__(self,make,model,year): """ 初始化父親的屬性 再初始化電動(dòng)汽車(chē)特有的屬性 """ super().__init__(make,model,year)#super()能夠讓我們調(diào)用父類(lèi)的方法 self.battery_size = Battery()#直接在子類(lèi)的基本屬性中添加基本屬性了 def describe_battery(self):#添加新的方法 """打印一條描述電瓶容量的消息""" print(f"This car has a {self.battery_size.battery_size}-kwh battery.")#當(dāng)battery沒(méi)有變成類(lèi)的時(shí)候,battery相當(dāng)于一個(gè)一個(gè)簡(jiǎn)單 #的屬性并且已經(jīng)是個(gè)默認(rèn)值了。但是將battery變成類(lèi)時(shí),battery_size = Battery 然后需要去該類(lèi)中尋找描述電池的方法,所以格式為,實(shí)例名.屬性.類(lèi)方法 def fill_gas_tank(self): """電瓶車(chē)沒(méi)有汽油""" 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、簡(jiǎn)單易用,與C/C++、Java、C# 等傳統(tǒng)語(yǔ)言相比,Python對(duì)代碼格式的要求沒(méi)有那么嚴(yán)格;2、Python屬于開(kāi)源的,所有人都可以看到源代碼,并且可以被移植在許多平臺(tái)上使用;3、Python面向?qū)ο螅軌蛑С置嫦蜻^(guò)程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語(yǔ)言,Python寫(xiě)的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序;5、Python功能強(qiáng)大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見(jiàn)功能。
看完了這篇文章,相信你對(duì)“python怎么將實(shí)例用作屬性”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。