全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

浅谈Python类的__getitem__和__setitem__特殊方法

一个有点绕的例子,用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]=val

def __getitem__(self,key):
  if self._res.has_key(key):
    return self._res[key]
  else:
    r=WPUnit()
    self.__setitem__(key,r)
    return r

a=WPUnit()
a['a']['b']['c']['d']['e']['f']['g']=5
print 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__特殊方法全部内容了,希望大家多多支持~


# getitem  # setitem  # 关于Python中object类特殊方法的解释  # Python object类中的特殊方法代码讲解  # Python中类的初始化特殊方法  # python中实现定制类的特殊方法总结  # python类特殊方法使用示例讲解  # 什么用  # 步进  # 在这里  # 我们可以  # 这两个  # 可以看到  # 作为一个  # 非常重要  # 浅谈  # 你也可以  # 小编  # 大家多多  # 调试器  # 改变了  # 继承了  # utf  # encoding  # object  # dir  # gt 


相关文章: 行程制作网站有哪些,第三方机票电子行程单怎么开?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  建站之星IIS配置教程:代码生成技巧与站点搭建指南  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  网站企业制作流程,用什么语言做企业网站比较好?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  ,巨量百应是干嘛的?  西安大型网站制作公司,西安招聘网站最好的是哪个?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何快速搭建高效简练网站?  浅析上传头像示例及其注意事项  如何通过VPS建站无需域名直接访问?  如何注册花生壳免费域名并搭建个人网站?  开心动漫网站制作软件下载,十分开心动画为何停播?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  营销式网站制作方案,销售哪个网站招聘效果最好?  济南网站制作的价格,历城一职专官方网站?  如何在IIS中新建站点并配置端口与物理路径?  如何用西部建站助手快速创建专业网站?  javascript基本数据类型及类型检测常用方法小结  公司门户网站制作流程,华为官网怎么做?  如何在云虚拟主机上快速搭建个人网站?  网站代码制作软件有哪些,如何生成自己网站的代码?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  制作网站的软件免费下载,免费制作app哪个平台好?  如何在Windows环境下新建FTP站点并设置权限?  建站之星如何保障用户数据免受黑客入侵?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  建站之星展会模版如何一键下载生成?  已有域名和空间如何快速搭建网站?  如何打造高效商业网站?建站目的决定转化率  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何零基础开发自助建站系统?完整教程解析  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  微信推文制作网站有哪些,怎么做微信推文,急?  学校为何禁止电信移动建设网站?  如何选择最佳自助建站系统?快速指南解析优劣  c# 在高并发场景下,委托和接口调用的性能对比  山东云建站价格为何差异显著?  如何选择CMS系统实现快速建站与SEO优化?  C#怎么创建控制台应用 C# Console App项目创建方法  jQuery 常见小例汇总  视频网站制作教程,怎么样制作优酷网的小视频?  北京的网站制作公司有哪些,哪个视频网站最好?  如何快速打造个性化非模板自助建站?  建站VPS选购需注意哪些关键参数? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。