色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python類的多態和類的property屬性

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-09 16:37 ? 次閱讀

python類的多態

多態,是指在同一類型下的不同形態。

比如下面這段代碼

class People:
    def speak(self):
        pass

class American(People):
    def speak(self):
        print("Hello, boys")

class Chinese(People):
    def speak(self):
        print("你好,老鐵")

p1 = American()
p2 = Chinese()

American 和 Chinese 都繼承了 People 類,但他們在 speak() 函數下,卻有不同的形態表現。American 說英文,Chinese 說漢語。

倘若現在有一個 do_speak 函數

def do_speak(people):
    people.speak()

do_speak(p1)
do_speak(p2)

那么無論傳入的 American 實例還是 Chinese 實例,只要他有實現 speak 方法都可以。

這就是 Python 中非常有名鴨子類型:一個對象只要“看起來像鴨子,走起路來像鴨子”,那它就可以被看做是鴨子。

套入剛剛的代碼實例中,就是一個對象,只要有 speak 方法,那么他就是一個 do_speak 方法所需要的 people 對象。

類的 property 屬性

在之前的學習中,對象的屬性,我們都是通過把變量值賦值給對象本身來實現的。

>>> class Student:pass
...
>>>
>>> s = Student()
>>> s.name = "王炳明"
>>> s.age = 27

直接賦值會存在一個問題,就是無法對屬性值進行合法性較驗,比如我給 age 賦值的是負數,在業務上這種數據是不合法的。但上面那種寫法是無法檢查出來的。

>>> s.age = -27
>>> s.age
-27

為了實現屬性的合法性校驗,Python 引入的 property 屬性。

請看下面這段代碼

class Student:
    @property
    def age(self):
        return self._age

    @age.setter
    def age(self, value):
        if 0 <= value <= 150:
            self._age = value
        else:
            raise ValueError("Valid value must be in [0, 150]")

此時再對 age 屬性進行賦值就會對 value 的值進行合法性檢查,小于 0 或者 大于 150 的都是不合法數據。

>>> s = Student()
>>> s.age = -27
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 10, in age
ValueError: Valid value must be in [0, 150]

由此我們知道了 property ,其實是 Python 中一個內置的裝飾器,它可以在新式類中把一個函數 改造 成屬性。

當你讀取屬性值時,會進入被 property 裝飾的函數。

當你對屬性進行賦值時,會進入被 @xx.setter 裝飾的函數。

兩個裝飾器,一定是 @property 在前面,而 @xx.setter 在后

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 面向對象
    +關注

    關注

    0

    文章

    64

    瀏覽量

    9983
  • python
    +關注

    關注

    56

    文章

    4793

    瀏覽量

    84634
收藏 人收藏

    評論

    相關推薦

    請問TLV320ADC3101是哪一功放?A還是D

    TLV320ADC3101是哪一功放?A還是D?在數據手冊中的哪一頁有提到呀?
    發表于 11-08 07:26

    網口能接五網線嗎

    網口能接五網線。六系統向下兼容超五、五以及三系統,因此六
    的頭像 發表于 11-01 09:49 ?1740次閱讀

    java子類可以繼承父的什么

    Java是一種面向對象的編程語言,它支持繼承的概念。繼承是面向對象編程的三大特性之一,它允許一個(稱為子類或派生)繼承另一個(稱為父或基
    的頭像 發表于 08-20 11:02 ?1157次閱讀

    網線6和超6的區別

    網線(Cat6)和超六網線(Cat6e)是兩種常用的以太網網絡電纜,它們在多個方面存在區別,主要包括帶寬、傳輸速度、標識、價格、距離以及物理特性等。以下是對兩者區別的詳細分析: 1. 帶寬
    的頭像 發表于 08-06 10:40 ?8224次閱讀

    6網線和5網線的區別

    網線(Cat6)和五網線(Cat5)是兩種不同類型的網絡線纜,它們在多個方面存在顯著差異。以下是它們之間的主要區別: 1. 傳輸速率與帶寬 五網線:傳輸速率為100Mbps,帶寬為
    的頭像 發表于 08-05 09:50 ?4021次閱讀

    56水晶頭通用嗎

    5和6水晶頭并不通用。這一結論主要基于以下幾個方面的考慮: 一、物理尺寸與結構差異 尺寸差異:雖然五和六水晶頭的外部尺寸可能相似,但六
    的頭像 發表于 07-30 10:15 ?4889次閱讀

    水晶頭能接五線嗎

    水晶頭能接五線。這是因為六網線水晶頭向下兼容超五網線、五網線以及三系統,所以在保證
    的頭像 發表于 06-25 09:55 ?4899次閱讀

    網線接五面板有影響嗎

    網線接五面板會對網絡傳輸速度和穩定性產生影響。五面板只能夠用于五或者超五的網線連接,不能完全發揮六
    的頭像 發表于 06-04 10:46 ?4031次閱讀

    A和B功放哪個更好

    在音頻放大領域,A(甲類)和B(乙類)功放作為兩種常見的放大技術,各自具有獨特的優勢和適用場景。本文旨在深入探討A和B功放的性能特點、優缺點、應用場景以及如何選擇,以期為讀者提
    的頭像 發表于 05-31 18:11 ?5270次閱讀

    線和六線的區別

    線和六線在多個方面存在顯著的區別。 首先,從定義上來看,五線(Cat.5)是一種計算機網絡中使用的雙絞式電纜,主要用于數據、話音等信息通信業務,被廣泛應用于以太網、寬帶接入工程中。而六
    的頭像 發表于 04-22 11:14 ?2288次閱讀

    的網線能用六水晶頭嗎

    網線不能使用六或七水晶頭。雖然六和七水晶頭與八網線在結構上有相似之處,但是它們的性
    的頭像 發表于 04-18 11:45 ?1792次閱讀

    怎樣分別網線是五還是六

    可以通過以下幾種方法來區分網線是五還是六: 觀察網線的外皮標注。五網線的外皮會標注“CAT5”字樣,而六網線的外皮會標注“CAT6”字樣。這是最直接、最簡單的區分方法。 檢查網
    的頭像 發表于 03-27 09:55 ?4298次閱讀

    超6網線和6網線存在哪些差異

    超6網線和6網線在多個方面存在差異: 速度和帶寬:超6網線主要用于10Gbps的網絡連接,而6網線主要用于1Gbps的網絡連接。超6
    的頭像 發表于 03-01 14:00 ?5495次閱讀

    ip地址怎么判斷abc

     AIP地址的第一個字節范圍在1到126之間,其默認網絡掩碼為255.0.0.0。例如,10.0.0.1就是一個AIP地址。
    的頭像 發表于 02-19 10:16 ?7969次閱讀

    穩壓電源一區別

    穩壓電源一、二和三是指按照供電設備的直流輸出偏差范圍和抗干擾能力對穩壓電源進行分類的方法。下面將詳細介紹穩壓電源一、二和三
    的頭像 發表于 12-28 17:54 ?9321次閱讀
    主站蜘蛛池模板: 97国产精品人妻无码免费| 午夜影院老司机| 大学生第一次破女在线观看| 亚洲成 人a影院青久在线观看| 老师xxxx69动漫| 国产午夜亚洲精品不卡电影| 最近中文字幕MV免费看| 四虎国产精品高清在线观看| 久久精品手机观看| 国产成人精品视频| 97在线观看免费| 亚洲精品白色在线发布| 秋霞影音先锋一区二区| 久久亚洲伊人中字综合精品| 国产高清视频a在线大全| 97色伦在色在线播放| 亚洲精品青青草原avav久久qv| 秋霞电影午夜伦午夜| 久久亚洲人成国产精品| 国产在线精品亚洲第一区| 成人综合在线视频免费观看完整版| 在线 无码 中文 强 乱| 亚州三级久久电影| 日韩一卡二卡三卡四卡免费观在线| 伦理片97影视网| 精品国产乱码久久久久久口爆| 超碰久久国产vs| 99久免费精品视频在线观看2| 野花高清影视免费观看| 性色AV一区二区三区咪爱四虎| 日韩a在线看免费观看视频| 免费在线观看国产| 久久中文字幕无线观看| 精品美女国产互换人妻| 国产精品私人玩物在线观看| 丰满人妻妇伦又伦精品APP国产| 99午夜视频| 99精品99| 99爱在线精品视频免费观看9| 中文字幕在线观看亚洲| 在线观看qvod|