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

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)論
主站蜘蛛池模板: 久久久99精品免费观看 | 一级日本强免费 | a毛片全部免费播放 | 亚洲综合色视频在线观看 | 国产99视频精品免费视频7 | 久草在线观看福利 | 97在线人人 | 激情福利| 亚洲一区二区三区中文字幕 | 免费观看日本污污ww网站一区 | 国产精品久久久久久久久久免费 | 国产成人精视频在线观看免费 | 国产欧美在线视频免费 | 4hu影院最新地址www | 97中文字幕在线 | 欧美黄页网 | 久久99国产精品免费观看 | 黄色毛片免费看 | 中文字幕亚洲一区婷婷 | 久久99久久精品国产只有 | 一道本不卡免费视频 | 欧美aaaaa一级毛片在线 | 亚洲成在人线免费视频 | 一级特黄a视频 | 亚洲一区二区三区四区热压胶 | 国产在线精品成人一区二区三区 | 精品69久久久久久99 | 中文精品视频一区二区在线观看 | 青青久在线视频免费视频 | 久久综合九色综合国产 | 九九在线视频 | 69日本人xxxx16—18 | 国产福利视频 | 亚洲伊人色一综合网 | 国产色综合天天综合网 | 久久精品国产99国产精品 | 欧美成人精品免费播放 | 人人澡人人人人夜夜爽 | 亚洲精品高清在线一区二区三区 | 欧美jizz19性欧美 | 久久久日韩精品国产成人 |