国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

淺談Python類的__getitem__和__setitem__特殊方法

2020-02-23 04:11:08
字體:
來源:轉載
供稿:網友

一個有點繞的例子,用PyScripter調試器步進跟蹤可以看清楚對 象結構的具體細節。

對原作改變了一下,在未定義子對象屬性時__getitem__中使用現成的__setitem__來定義。

## encoding:utf-8"""這個類繼承了object, object是Python的最小單元,可以在Python的">>>"控制臺用dir(objct)或者dir (__builtins__.object)命令查看它的屬性,可以看到__setattr__, __new__...他們是python中任何對象都會具有的屬性,你也可以dir(1)和dir(int)看看,可看到更多內容,在這里,1作為一個實例化的int對象出現。而這些__xxx__屬性有什么用呢?在接下來的代碼中,我們可以了解__getitem__和__setitem__有什么用 (這兩個屬性在dict對象中非常重要)"""class WPUnit(object):  def __init__(self):    self._res={}def __setitem__(self,key,val):  self._res[key]=valdef __getitem__(self,key):  if self._res.has_key(key):    return self._res[key]  else:    r=WPUnit()    self.__setitem__(key,r)    return ra=WPUnit()a['a']['b']['c']['d']['e']['f']['g']=5print a['a']['b']['c']['d']['e']['f']['g']
>>> class testsetandget:   kk = {};   def __getitem__(self, key):     return self.kk[key];   def __setitem__(self, key, value):     self.kk[key] = value;      >>> a = testsetandget() >>> a['first'] = 1 >>> a['first'] 1 >>> a.__setitem__('second', 2) >>> a.__getitem__('second') 2 >>> a['second'] 2 >>>  

以上就是小編為大家帶來的淺談Python類的__getitem__和__setitem__特殊方法全部內容了,希望大家多多支持武林站長站~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆云县| 思南县| 东平县| 三门峡市| 乳山市| 信宜市| 阿坝县| 富蕴县| 台安县| 贡山| 扎鲁特旗| 红河县| 平顶山市| 临桂县| 郎溪县| 望谟县| 宿迁市| 都兰县| 新竹县| 丘北县| 金昌市| 建湖县| 凤山市| 泰州市| 沂南县| 昭平县| 玛纳斯县| 永兴县| 荔浦县| 龙州县| 湘潭县| 开阳县| 湘阴县| 上杭县| 镇江市| 四川省| 凤山县| 报价| 宁波市| 宁波市| 汤阴县|