溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python怎么將實(shí)例用作屬性

發(fā)布時(shí)間:2021-05-14 15:25:14 來(lái)源:億速云 閱讀:148 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下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()

Python的優(yōu)點(diǎn)有哪些

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è)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI