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

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)論
主站蜘蛛池模板: 97国产成人精品视频 | 午夜67194| 国产乱子伦视频大全 | 一线视频日本 | 日本一级特黄aa毛片免费观看 | 非洲一级毛片 | 国产亚洲欧美一区 | 日本一级爽毛片在线看 | 久久se精品一区二区国产 | 久久99国产精品久久 | 91福利国产在线观看一区二区 | 久久精品这里有 | 欧美va亚洲va在线观看蝴蝶网 | 伊人色院成人蜜桃视频 | 国产精品国产色综合色 | 免费的毛片 | 婷婷综合色伊人阁 | 免费的成人a视频在线观看 免费的黄色网 | 九九影院理论片私人影院 | 毛片aaa| 亚洲码和乱人伦中文一区 | 亚洲专区欧美专区 | 欧美激情在线免费 | 国产精品一区二区久久沈樵 | 国产精品亚洲欧美大片在线看 | 毛片在线播 | 黄色毛片免费在线观看 | se94se亚洲欧美在线 | 香蕉视频日本 | 亚洲精品日韩在线一区 | 青青国产成人久久91 | 天天干天天操天天摸 | 欧美不卡影院 | 国产精品suv一区二区 | 巨乳毛片 | 真实国产乱弄免费视频 | 中文字幕在线观看免费视频 | 老太婆性杂交毛片 | 久草热久草在线视频 | 一本大道香蕉大vr在线吗视频 | 欧美手机手机在线视频一区 |