最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pycharm實(shí)現(xiàn)在子類中添加一個(gè)父類沒有的屬性

 更新時(shí)間:2020年03月12日 09:25:05   作者:python_caiji  
這篇文章主要介紹了pycharm實(shí)現(xiàn)在子類中添加一個(gè)父類沒有的屬性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,還是直接看代碼吧!

class Car():
  """一次模擬汽車的簡(jiǎn)單嘗試"""
  def __init__(self, make, model, year):
    """初始化描述汽車的屬性"""
    self.make = make
    self.model = model
    self.year = year
    self.odometer_reading = 0

  def get_description_name(self):
    """返回整潔的描述性信息"""
    long_name = str(self.year) + ' ' + self.make + ' ' + self.model
    return long_name.title()

  def read_odometer(self):
    """打印一條指出汽車?yán)锍痰南?""
    print("This car has " + str(self.odometer_reading) + " miles on it.")

  def update_odometer(self, mileage):
    """
    將里程讀數(shù)設(shè)置為指定的值
    禁止將里程表讀數(shù)往回調(diào)
    """
    if mileage >= self.odometer_reading:
      self.odometer_reading = mileage
    else:
      print("You can't roll back an odometer!")

  def increment_odometer(self, miles):
    """將里程表讀數(shù)增加指定的量"""
    self.odometer_reading += miles


class ElectricCar(Car):
  """電動(dòng)汽車的獨(dú)特之處"""
  def _init_(self, make, model, year):
    """
    電動(dòng)汽車的獨(dú)特之處
    初始化父類的屬性,再初始化電動(dòng)汽車特有的屬性
    """
    super().__init__(make, model, year)
    self.battery_size = 70

  def describe_battery(self):
    """打印一條描述電瓶容量的消息"""
    print("This car has a " + str(self.battery_size) + "-kwh battery.")

my_tesla = ElectricCar('tesla', 'model s', 2016)
print(my_tesla.get_description_name())
my_tesla.describe_battery()

運(yùn)行結(jié)果:

Traceback (most recent call last):
 File "E:/Python編程從入門到精通配套資料/Self-taught Python/electric_car.py", line 50, in <module>
  my_tesla.describe_battery()
 File "E:/Python編程從入門到精通配套資料/Self-taught Python/electric_car.py", line 46, in describe_battery
  print("This car has a " + str(self.battery_size) + "-kwh battery.")
AttributeError: 'ElectricCar' object has no attribute 'battery_size'

補(bǔ)充知識(shí):python中類的繼承,子類的方法的添加,子類的方法的覆蓋,子類的屬性的添加,及繼續(xù)父類的屬性

python如果我們想要繼承一個(gè)類的方法,并且不改當(dāng)前類,我們可以新建一個(gè)子類,來繼續(xù)他的方法

1、類的繼承,我們先來創(chuàng)建一個(gè)Animal的父類,我們?cè)賮韯?chuàng)建一個(gè)dog的子類,dog子類繼承父類Animal的方法,但是里面沒有執(zhí)行任何代碼,這時(shí)我們初始化一下dog子類為dog_1,記得也要傳入身高還有體重,不然會(huì)報(bào)錯(cuò)我們可以發(fā)現(xiàn)dog_1繼承了Animal里面的屬性及方法。直接輸出一下及調(diào)用一下。

class Animal():
  def __init__(self, weight, high):
    self.weight = weight
    self.high = high
  def shout(self):
    print('wow')
class Dog(Animal):
  pass
dog_1 = Dog(20,40)
print(dog_1.high)
print(dog_1.weight)
dog_1.shout()
#輸出內(nèi)容是
40
20
wow

2、子類的方法的添加,我們同樣可以在dog這個(gè)子類里添加新的方法,比如我們添加一個(gè)run的方法,再初始化一下dog_1,你會(huì)發(fā)現(xiàn)dog_1也會(huì)有run這個(gè)方法。

class Dog(Animal):
  def run(self):
    print('running')
dog_1 = Dog(20,40)
dog_1.run()
#輸出結(jié)果是
running

3、子類的方法的覆蓋,我們?cè)偬砑右粋€(gè)子類Cat,同樣繼承Animal,但是你發(fā)現(xiàn)Cat不是wow這樣叫的,所以我們要重新定義一下shout函數(shù),把父類Animal里的函數(shù)覆蓋掉。這時(shí)我們初始化cat_1調(diào)用Cat子類,記得要傳入體重和身高,不然會(huì)報(bào)錯(cuò),然后調(diào)用shout方法,你會(huì)發(fā)現(xiàn)輸出的內(nèi)容是miao,因?yàn)樽宇惱锏暮瘮?shù)把父類里的函數(shù)覆蓋掉了。

class Cat(Animal):
  def shout(self):
    print('miao')
cat_1 = Cat(20, 40)
cat_1.shout()
#輸出結(jié)果是
miao

4、子類的屬性的添加,及繼續(xù)父類的屬性,如果這時(shí)我們要給Cat加一個(gè)屬性color,同樣用__init__來定義屬性,但是我們要用super()來繼承父類里的weight和high,color 屬性的性,同樣用self.color賦值,這樣我們用cat_2初始化Cat類的時(shí)候就要傳入三個(gè)參數(shù),我們輸出一個(gè)cat_2.color,可以看到是正常調(diào)用的。

class Cat(Animal):
  def __init__(self, weight, high, color):
    super().__init__(weight, high)
    self.color = color
  def shout(self):
    print('miao')
cat_2 = Cat(20, 40, 'yellow')
print(cat_2.color)
#輸出結(jié)果是
yellow

類的繼承就講到這里,大家有問題歡迎私聊我

以上這篇pycharm實(shí)現(xiàn)在子類中添加一個(gè)父類沒有的屬性就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python的化簡(jiǎn)函數(shù)reduce()詳解

    Python的化簡(jiǎn)函數(shù)reduce()詳解

    這篇文章主要介紹了Python的化簡(jiǎn)函數(shù)reduce()詳解,reduce()函數(shù)即為化簡(jiǎn)函數(shù),它的執(zhí)行過程為:每一次迭代,都將上一次的迭代結(jié)果與下一個(gè)元素一同傳入二元func函數(shù)中去執(zhí)行,需要的朋友可以參考下
    2023-12-12
  • python?pip?install總是報(bào)錯(cuò)情況分析及解決辦法

    python?pip?install總是報(bào)錯(cuò)情況分析及解決辦法

    這篇文章主要給大家介紹了關(guān)于python?pip?install總是報(bào)錯(cuò)情況分析及解決辦法,安裝包時(shí)經(jīng)常遇到報(bào)錯(cuò),這里提供兩種方式解決,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • python中的List sort()與torch.sort()

    python中的List sort()與torch.sort()

    這篇文章主要介紹了python中的List sort()與torch.sort()使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python3實(shí)現(xiàn)UDP協(xié)議的服務(wù)器和客戶端

    python3實(shí)現(xiàn)UDP協(xié)議的服務(wù)器和客戶端

    這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)UDP協(xié)議的服務(wù)器和客戶端,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • matlab中實(shí)現(xiàn)矩陣刪除一行或一列的方法

    matlab中實(shí)現(xiàn)矩陣刪除一行或一列的方法

    下面小編就為大家分享一篇matlab中實(shí)現(xiàn)矩陣刪除一行或一列的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 淺談pycharm導(dǎo)入pandas包遇到的問題及解決

    淺談pycharm導(dǎo)入pandas包遇到的問題及解決

    這篇文章主要介紹了淺談pycharm導(dǎo)入pandas包遇到的問題及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python 中的判斷語句,循環(huán)語句,函數(shù)

    Python 中的判斷語句,循環(huán)語句,函數(shù)

    這篇文章主要介紹了Python 中的判斷語句,循環(huán)語句,函數(shù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • 使用Python繪制三種概率曲線詳解

    使用Python繪制三種概率曲線詳解

    這篇文章主要為大家分享了如何利用Python實(shí)現(xiàn)概率曲線的繪制,文中繪制了正態(tài)分布的曲線和指數(shù)分布的曲線,感興趣的可以了解一下
    2022-03-03
  • 將自己的Python包發(fā)布到PyPI上的教程詳解

    將自己的Python包發(fā)布到PyPI上的教程詳解

    在Python中我們經(jīng)常使用pip來安裝第三方Python軟件包,其實(shí)我們每個(gè)人都可以免費(fèi)地將自己寫的Python包發(fā)布到PyPI上,本文小編就來教教大家如何將自己的Python包發(fā)布到PyPI上吧
    2023-09-09
  • python 變量初始化空列表的例子

    python 變量初始化空列表的例子

    今天小編就為大家分享一篇python 變量初始化空列表的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評(píng)論

凤城市| 建阳市| 柳江县| 乾安县| 朝阳县| 大埔区| 出国| 玉田县| 淳化县| 荔波县| 黄龙县| 南溪县| 鹤壁市| 东丰县| 黄浦区| 阜阳市| 镇坪县| 阜城县| 京山县| 师宗县| 永济市| 溆浦县| 高碑店市| 始兴县| 于田县| 包头市| 武安市| 桑日县| 太原市| 蓬溪县| 哈密市| 讷河市| 屏东县| 景泰县| 比如县| 天柱县| 老河口市| 马龙县| 天长市| 仁怀市| 衡山县|