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

Python類繼承和多態(tài)原理解析

 更新時間:2020年02月05日 13:50:48   作者:知一以天  
這篇文章主要介紹了python類繼承和多態(tài)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了python類繼承和多態(tài)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

現(xiàn)在屬于是老年人的腦子,東西寫著寫著就忘了,東西記著記著就不知道了。之前學C++的時候就把類、對象這塊弄得亂七八糟,現(xiàn)在是因為很想玩python,所以就看看python的類和對象。

就像說的,類有三個特征:封裝、繼承、多態(tài)。

1、封裝:類封裝了一些方法,可通過一定的規(guī)則約定方法進行訪問權限。

C++中的成員變量有public、private、ptotected。

在python中,默認的成員變量都是public的,如果成員變量前面是加兩個下劃線,表示該成員變量是私有的。并且private類不能被繼承類引用,并且不允許直接訪問。

2、繼承:在定義一個類的時候可以從當前有的類中進行繼承。

python是允許多繼承的,并且在子類中擁有父類所有的成員變量和方法,為了緩解代碼中的冗余,子類在父類的基礎上增加的成員變量可以如下修改。

class Person(object):
  def __init__(self,name,sex):
    self.name = name
    self.sex = sex

class Child(Person):             # Child 繼承 Person
  def __init__(self,name,sex,mother,father):
    Person.__init__(self,name,sex)    # 子類對父類的構造方法的調用
    self.mother = mother
    self.father = father

May = Child("May","female","April","June")
print(May.name,May.sex,May.mother,May.father)

3、多態(tài):當子類繼承父類之后,成員方法既可以重寫也可以不重寫。當調用的時候只要保證新方法編寫正確,不用管原來的代碼。

對擴展開放(Open for extension):允許子類重寫方法函數(shù)
對修改封閉(Closed for modification):不重寫,直接繼承父類方法函數(shù)
python是一種動態(tài)語言,動態(tài)語言是在運行的時候確定數(shù)據類型的語言。變量在使用前不用聲明,通常變量的類型是被復制的那個值的類型。

靜態(tài)語言是在編譯的時候變量的數(shù)據類型即可確定的語言,多數(shù)靜態(tài)類型語言要求在使用變量之前鼻血聲明數(shù)據類型。

在類中,當要對成員變量進行約束的時候可以使用@property,python內置的@property裝飾器是負責把一個方法變成屬性調用

在實例屬性操作的時候,就知道該屬性很可能不是直接暴露的,而是通過getter和setter方法來實現(xiàn)的。還可以定義只讀屬性,只定義getter方法不定義setter就是一個只讀屬性

請利用@property給一個Screen對象加上width和height屬性,以及一個只讀屬性resolution:

class Screen(object) :
  @property
  def width(self) :
    return self._width

  @width.setter
  def width(self,valuer) :
    if not isinstance(valuer,int):
      raise ValueError('score must be an integer')
    if valuer < 0 :
      raise ValueError('score must over zero')  
    self._width=valuer

  @property
  def height(self) :
    return self._height

  @height.setter
  def height(self,number) :
    if not isinstance(number,int) :
      raise ValueError('score must be an integer')
    if number < 0 :
      raise ValueError('score must be an zero')
    self._height = number

  @property
  def resolution(self):
    return self._width * self._height
s=Screen()
s.width = 1024
s.height = 768
print(s.resolution)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python3 實現(xiàn)口罩抽簽的功能

    python3 實現(xiàn)口罩抽簽的功能

    這篇文章主要介紹了python3 實現(xiàn) 口罩抽簽的功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 下載官網python并安裝的步驟詳解

    下載官網python并安裝的步驟詳解

    在本篇文章里小編給大家整理了關于下載官網python并安裝的步驟詳解,需要的朋友們參考學習下。
    2019-10-10
  • selenium鼠標操作實戰(zhàn)案例詳解

    selenium鼠標操作實戰(zhàn)案例詳解

    在實際場景中,會有單擊、長時間單擊、雙擊、右鍵、拖拽等鼠標操作,selenium提供了名為ActionChains的類來處理這些操作,下面這篇文章主要給大家介紹了關于selenium鼠標操作實戰(zhàn)案例的相關資料,需要的朋友可以參考下
    2023-05-05
  • Python內置函數(shù)—vars的具體使用方法

    Python內置函數(shù)—vars的具體使用方法

    本篇文章主要介紹了Python內置函數(shù)—vars的具體使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Django使用mysqlclient服務連接并寫入數(shù)據庫的操作過程

    Django使用mysqlclient服務連接并寫入數(shù)據庫的操作過程

    這篇文章主要介紹了Django使用mysqlclient服務連接并寫入數(shù)據庫,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 利用Pytorch實現(xiàn)ResNet網絡構建及模型訓練

    利用Pytorch實現(xiàn)ResNet網絡構建及模型訓練

    這篇文章主要為大家介紹了利用Pytorch實現(xiàn)ResNet網絡構建及模型訓練詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Python 在局部變量域中執(zhí)行代碼

    Python 在局部變量域中執(zhí)行代碼

    這篇文章主要介紹了Python 如何在局部變量域中執(zhí)行代碼,幫助大家更好的理解和學習Python,感興趣的朋友可以了解下
    2020-08-08
  • Python中encode和encoding的區(qū)別小結

    Python中encode和encoding的區(qū)別小結

    Python是一種非常流行的高級編程語言,它提供了許多內置函數(shù)和庫來方便地處理文本數(shù)據,其中,encode和encoding是處理文本編碼的重要概念,本文就來介紹一下Python中encode和encoding的區(qū)別小結,感興趣的可以了解一下
    2023-11-11
  • 基于Python中capitalize()與title()的區(qū)別詳解

    基于Python中capitalize()與title()的區(qū)別詳解

    下面小編就為大家分享一篇基于Python中capitalize()與title()的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • spark?dataframe全局排序id與分組后保留最大值行

    spark?dataframe全局排序id與分組后保留最大值行

    這篇文章主要為大家介紹了spark?dataframe全局排序id與分組后保留最大值行實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02

最新評論

卢氏县| 儋州市| 花垣县| 青海省| 望城县| 武穴市| 治县。| 通江县| 竹北市| 普洱| 武清区| 陵川县| 靖州| 安平县| 巴楚县| 冷水江市| 子洲县| 敦煌市| 渭源县| 曲阜市| 星子县| 宁德市| 鞍山市| 高台县| 化州市| 永泰县| 辽阳市| 合阳县| 筠连县| 云梦县| 西城区| 大关县| 安溪县| 航空| 定陶县| 金平| 云阳县| 抚远县| 蓝山县| 留坝县| 突泉县|