亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

property在python2和python3中的區(qū)別

系統(tǒng) 1562 0
  • 問(wèn)題背景: 源于公司的原來(lái)的代碼是python2開(kāi)發(fā)的,后來(lái)改為python3開(kāi)發(fā),設(shè)計(jì)到的property的用法有點(diǎn)不一樣
  • 直接上代碼

公司原來(lái)的python2的代碼

          
            class LineItem:

    def __init__(self, description, weight, price):
        self.description = description
        self.__weight = weight
        self.price = price

    @property
    def weight(self):
        return self.__weight

    @weight.setter
    def set_weight(self, value):
        if value > 0:
            self.__weight = value
        else:
            raise ValueError('weight must be > 0')
          
        

運(yùn)行代碼

          
            In [2]: l = LineItem('a', 3, 6)

In [3]: l.weight
Out[3]: 3

In [4]: l.weight = 5

In [5]: l.weight
Out[5]: 5
          
        

這個(gè)代碼在python2下面執(zhí)行沒(méi)有問(wèn)題,但是在python3下面執(zhí)行,會(huì)報(bào)錯(cuò),在執(zhí)行 In [4]: l.weight = 5 的時(shí)候報(bào)錯(cuò)

          
            In [4]: l.weight = 5
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)

            
               in 
              
                
----> 1 l.weight = 5

AttributeError: can't set attribute
              
            
          
        
  • 解決方法

按理說(shuō),上面的那種寫法不是很規(guī)范,無(wú)論是在python2還是python3的文檔實(shí)例里面都不是這么寫的,所以為了簡(jiǎn)便和不出錯(cuò),我們統(tǒng)一使用下面的這種寫法

          
            class LineItem:

    def __init__(self, description, weight, price):
        self.description = description
        self.__weight = weight
        self.price = price

    @property
    def weight(self):
        return self.__weight

    @weight.setter
    def weight(self, value):
        if value > 0:
            self.__weight = value
        else:
            raise ValueError('weight must be > 0')
          
        

主要區(qū)別在于這一行 def weight(self, value):


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

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

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

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

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日本一级毛片无遮挡 | 日韩精品一区二区三区中文 | 国产一区二区三区在线免费观看 | 两个人高清视频图片中文字幕 | 亚洲成人免费在线 | 成人亚洲欧美日韩在线观看 | 日韩欧美成人免费中文字幕 | 亚洲欧美日韩国产vr在线观 | 亚洲国产成人久久综合区 | 高清国产美女在线观看 | 在线观看偷拍视频一区 | 久久久精品2021免费观看 | 亚洲免费一级片 | 一级毛片视频在线 | 欧美日韩中文字幕在线观看 | 国产视频二区在线观看 | 九九视频这里只有精品99 | 久久亚洲国产精品五月天婷 | 日韩精品一区二区三区在线观看l | 国产亚洲精品美女 | 国产精品资源在线观看 | 性做久久久久久久 | 亚洲免费小视频 | 手机观看毛片 | 亚洲欧美另类在线 | 99re在线 | 久久精品国产精品2020 | 日韩久久影院 | 国产九九在线观看播放 | 欧美高清一区二区三区欧美 | 国产精品bdsm在线调教 | a免费在线观看视频 | 国产欧美成人 | 老子午夜伦影理论片 | 香蕉视频国产在线观看 | 欧洲色网 | 手机免费在线观看 | 中国产一级毛片 | 激情五月婷婷综合 | 久久伊人一区二区三区四区 | 欧美 xx性 在线 |