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

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久久99精品免观看动漫 | 久99re视频9在线观看 | 骚碰97 | 国内精品亚洲 | 国产精品资源网站在线观看 | 欧美成人爽毛片在线视频 | 久久国产视频精品 | 青青草国产97免久久费观看 | 80岁老妇xxxxx高清 | 中文字幕一区二区三区四区 | 欧美jizzhd欧美巨大 | 在线观看国产一区二区三区99 | 久草b| 日日干天天草 | 国产野花视频天堂视频免费 | 精品新一区二区三区四区 | 日日干日日操 | 久草在线中文 | 亚洲精品色婷婷在线影院麻豆 | 一区国严二区亚洲三区 | 欧美日本一本线在线观看 | 欧美成人看片 | 奇米影视在线视频8888 | 色综合成人 | 久久咪咪 | 亚洲综合色色图 | 亚洲国产精品久久久久久 | 色综合久久91 | 久久久噜噜噜久噜久久 | 亚洲综合日韩精品欧美综合区 | 欧美日韩国产欧美 | 日本免费特黄aa毛片 | 日日摸日日碰夜夜爽久久 | 特级毛片s级全部免费 | 在线看一区 | 精品中文字幕一区在线 |