国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

【python小白】 問關(guān)于property的順序問題

瀏覽:86日期:2022-06-26 16:23:03

問題描述

代碼如下:

class Test(object): def __init__(self):self.__num = 100 def setNum(self,newNum):print('----setter-----')self.__num = newNumdef getNum(self):print('----getter-----')return self.__numnum = property(getNum,setNum) #get在前,set在后 #num = property(setNum,getNum) #set在前,get在后 t = Test()print(t.getNum())t.setNum(2000)print(t.getNum())print('----'*10)t.num = 5000print(t.num)

運(yùn)行結(jié)果:

【python小白】  問關(guān)于property的順序問題

在代碼中,property的那一部分,get在前面,set在后面,執(zhí)行結(jié)果正常。然后如果把set放在前面,get放在后面,程序就出錯(cuò)了。

我想問下,這個(gè)為什么跟位置還有關(guān)系呢?不是程序自動(dòng)識(shí)別的么?為什么換了位置就錯(cuò)誤了?

問題解答

回答1:

我試了一下,錯(cuò)誤信息是:TypeError: getNum() takes 1 positional argument but 2 were given

getter接收一個(gè)參數(shù),setter接收兩個(gè)參數(shù),互換了傳入的參數(shù)個(gè)數(shù)就不匹配了。

這個(gè)定義里是有順序的:class property(fget=None, fset=None, fdel=None, doc=None)

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 枞阳县| 包头市| 米林县| 长子县| 新丰县| 河津市| 连州市| 永川市| 枣庄市| 辽阳县| 玛纳斯县| 瑞昌市| 山阳县| 鄢陵县| 三江| 耒阳市| 秦皇岛市| 珠海市| 布尔津县| 乐都县| 北宁市| 四平市| 合肥市| 建湖县| 龙岩市| 清水河县| 凌源市| 六枝特区| 南召县| 澜沧| 鄱阳县| 普兰县| 卫辉市| 正宁县| 望江县| 洪江市| 云浮市| 峡江县| 柳江县| 房山区| 隆化县|