在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

    瀏覽量

    10101
  • python
    +關注

    關注

    56

    文章

    4825

    瀏覽量

    86343
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    網線超6與6的區別

    網線超6(Cat 6a)與6(Cat 6)的主要區別如下: 1. 傳輸性能 6網線(Cat 6): 支持最高250 MHz的帶寬。 適用于千兆以太網(1 Gbps),最大傳輸距離100米。 超
    的頭像 發表于 04-16 10:04 ?2215次閱讀

    買水晶頭如何匹配超5 67

    購買與超5、6、7網線匹配的水晶頭時,需遵循以下原則,以確保傳輸性能、穩定性和兼容性: 一、匹配原則 超5網線 推薦搭配:超5水晶
    的頭像 發表于 03-26 10:05 ?892次閱讀

    網線6和7的區別是什么

    網線6和7的區別主要體現在以下幾個方面: 一、傳輸性能 傳輸速率: 六網線(CAT6)支持高達1Gbps的傳輸速率,適用于千兆以太網。 七網線(CAT7)則支持高達10Gbps
    的頭像 發表于 02-10 10:20 ?3126次閱讀

    網線怎么分辨56

    要分辨網線是5還是6,可以從以下幾個方面進行觀察和分析: 一、外觀標識 外皮印刷:正規的網線外皮上通常會有明確的標識。5網線的標識一般為“CAT5”或“Cat 5e”(超5),
    的頭像 發表于 02-08 10:28 ?1891次閱讀

    6水晶頭和5區別

    水晶頭和五水晶頭在多個方面存在顯著的區別,以下是對這兩者的詳細比較: 一、結構與設計 網線排列:五水晶頭的網線通常呈一字形排列,而六水晶頭的網線則是分成上下兩排且相互錯開排列
    的頭像 發表于 01-17 10:43 ?2750次閱讀

    網線5和6插座插口有區別

    網線5插座和6插座的插口確實存在一些區別,主要體現在以下幾個方面: 一、接口尺寸與結構 5插座:插孔較大,適合較粗的導線。其內部結構相對簡單,適用于較低速率的網絡傳輸。 6插座
    的頭像 發表于 12-05 10:00 ?3537次閱讀

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

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

    網口能接五網線嗎

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

    A和B功放有什么區別

    A功放(甲類功放)與B功放(乙類功放)在音頻放大領域具有顯著的區別,這些區別主要體現在工作原理、音質表現、效率、散熱以及成本等多個方面。以下是對A和B功放區別的詳細介紹。
    的頭像 發表于 08-22 11:34 ?3076次閱讀

    java子類可以繼承父的什么

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

    網線6和超6的區別

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

    6網線和5網線的區別

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

    6網線和超6網線的區別

    網線(Cat6)和超六網線(Cat6a)在多個方面存在顯著的區別。
    的頭像 發表于 07-31 10:20 ?6464次閱讀

    56水晶頭通用嗎

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

    水晶頭能接五線嗎

    水晶頭能接五線。這是因為六網線水晶頭向下兼容超五網線、五網線以及三系統,所以在保證
    的頭像 發表于 06-25 09:55 ?7579次閱讀
    主站蜘蛛池模板: 欧美一级高清免费a | 成人夜色视频网站在线观看 | 亚洲五月综合网色九月色 | 欧美日韩色片 | 护士一级aaaaaa毛片 | 老师啊灬啊灬用力啊快224视频 | 68日本 xxxxxxxxx| 碰免费人人人视频 | xxxx日本老师hd | 免费看真人a一级毛片 | 亚洲偷自偷白图片 | 成人a毛片视频免费看 | 七月丁香八月婷婷综合激情 | 九草伊人 | 国产 麻豆 欧美亚洲综合久久 | 最好看的最新中文字幕2018免费视频 | 午夜爽爽性刺激一区二区视频 | 哥也操 | 欧美污视频网站 | 亚洲国产成人久久 | 中文字幕有码在线视频 | 人人射人人爽 | 人人揉人人爽五月天视频 | 国产v精品成人免费视频400条 | 婷婷开心激情网 | 求毛片网站 | 人人草人人澡 | 国产精品资源网 | 李老汉和小花的性生生活 | 操久久 | 久草在线资源网 | xxx性xxx乱| 成人高清毛片a | 欧美黄色录像 | 国产精品欧美一区二区三区不卡 | 天天综合天天做天天综合 | 国产福利在线观看你懂的 | 乱色伦肉小说 | 黄视频福利 | 欧美日本一区二区三区道 | 91精品啪在线观看国产日本 |