欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python 類裝飾器

系統(tǒng) 1611 0

類裝飾器

propety

property是一種特殊的屬性,訪問它時(shí)會(huì)執(zhí)行一段功能(函數(shù))然后返回值

          
            class Student:
    def __init__(self,name,birth):
        self.name = name
        self.birth = birth

    @property     # 將一個(gè)方法偽裝成屬性
    def age(self):
        import time
        return time.localtime().tm_year - self.birth
alex = Student('alex',1930)
print(alex.age)   # 名詞
          
        

為什么要用property

將一個(gè)類的函數(shù)定義成特性以后,對(duì)象再去使用的時(shí)候obj.name,根本無法察覺自己的name是執(zhí)行了一個(gè)函數(shù)然后計(jì)算出來的,這種特性的使用方式 遵循了統(tǒng)一訪問的原則

除此之外,看下

ps:面向?qū)ο蟮姆庋b有三種方式:
【public】
這種其實(shí)就是不封裝,是對(duì)外公開的
【protected】
這種封裝方式對(duì)外不公開,但對(duì)朋友(friend)或者子類(形象的說法是“兒子”,但我不知道為什么大家 不說“女兒”,就像“parent”本來是“父母”的意思,但中文都是叫“父類”)公開
【private】
這種封裝對(duì)誰都不公開

          
            class Circle:
    def __init__(self,r):
        self.r = r

    @property
    def area(self):   # 面積更像是圓的屬性
        return 3.14*self.r**2

    @property
    def perimeter(self): # 周長(zhǎng)更像是圓的屬性
        return 2*3.14*self.r

c = Circle(10)
print(c.area)
print(c.perimeter)
          
        

staticmethod

          
            class Staticmethod_Demo():
    role = 'dog'

    @staticmethod
    def func():
        print("當(dāng)普通方法用")

Staticmethod_Demo.func()


class Student:
    def __init__(self,name):
        self.name = name
    @staticmethod     # 聲明login方法是一個(gè)靜態(tài)方法 ,不必傳任何默認(rèn)的參數(shù)
    def login(flag):
        print('登錄程序',flag)
        username = input('>>>')
        stu = Student(username)
        return stu
# 要想調(diào)用login 必須現(xiàn)有對(duì)象
# 要想創(chuàng)建對(duì)象 必須用戶先輸入名字
# 得調(diào)用登錄之后才開始input

# 不必實(shí)例化就可以調(diào)用的login方法 不需要傳遞對(duì)象作為參數(shù),就定義這個(gè)方法為靜態(tài)方法
obj = Student.login(flag = True)  # 用類名可以直接調(diào)用這個(gè)方法了
print(obj.__dict__)
          
        

classmethod

          
            class Manager:
    def __init__(self,name):
        self.name = name
    @classmethod     # 裝飾當(dāng)前這個(gè)方法為一個(gè)類方法,默認(rèn)傳參數(shù)cls,表示當(dāng)前所在的類名
    def login(cls):
        username = input('>>>')
        stu = cls(username)
        return stu

obj = Manager.login()  # 用類名可以直接調(diào)用這個(gè)方法了
print(obj.__dict__)
          
        

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 成年人看的羞羞网站 | 欧美午夜艳片欧美精品 | 亚洲免费在线播放 | 免费色网 | 国内精品视频在线观看 | 国内精品伊人久久久影视 | 日韩欧美色图 | 国产视频h | 亚洲h视频| 日韩一区二区在线观看 | 成人av在线播放 | 亚洲视频区| 久久2| 九九热视频这里只有精品 | 天天操天天玩 | 欧美精品黄页免费高清在线 | 青青色在线观看 | 天天干天天爱天天操 | 欧美一级在线免费 | 黄色片在线免费看 | 夜夜夜爽bbbb性视频 | 九九热精品视频在线播放 | 精品欧美一区二区三区在线 | 国产欧美日韩视频在线观看 | 啊哈不要啊 | 午夜理伦三级理论三级在线观看 | 欧美日韩一二区 | 男女猛烈视频 | 日本一区二区三区四区高清视频 | 五月天婷五月天综合网站 | 妞干网在线免费观看 | 久久噜噜噜精品国产亚洲综合 | 日韩综合在线视频 | 国产精品国偷自产在线 | 欧美三级午夜理伦三级小说 | 精品一区二区三区四区五区 | 欧美精品一区二区免费 | 国产乱码精品1区2区3区 | 一区二区中文字幕 | 加勒比精品久久一区二区三区 | 91看片网 |