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

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)論
主站蜘蛛池模板: 日本亚洲免费 | 四虎永久精品免费网址大全 | 91尤物在线视频 | 中国精品白嫩bbwbbw | 99久久精品免费 | 成人在线免费视频播放 | 波多野结衣久久一区二区 | 狠狠久久久久久亚洲综合网 | 毛片激情永久免费 | 国产一级内谢a级高清毛片 国产一级片毛片 | 久久精品中文字幕有码日本 | 日本免费爱爱视频 | 欧美日韩影视 | 久草免费公开视频 | 国产成人精品日本亚洲语言 | 精品久久久久久免费影院 | 国产亚洲欧美日韩在线看片 | 国产激情自拍视频 | 网红毛片 | 久久夜色撩人精品国产 | 国产欧美视频一区二区三区 | 天天插日日操 | 五月婷婷丁香在线视频 | 久久精品久噜噜噜久久 | www夜夜操| 久久一区二区三区精品 | 国产一级视频久久 | 欧美一级性视频 | 奇米成人网 | 久久国产成人精品国产成人亚洲 | 欧美性xxx免费看片 欧美性白人顶级hd 欧美性插视频 | 日本欧美大片 | 亚洲一区二区三区中文字幕 | 日韩欧美国产精品第一页不卡 | 毛片在线播放a | 免看一级a毛片一片成人不卡 | 福利小视频在线 | 免费国产成人午夜在线观看 | 麻豆精品 | 男人猛桶女人下面视频国产 | 久久99久久99精品免观看动漫 |