python __getitem__()方法理解

如果在类中定义了__getitem__()方法,那么他的实例对象(假设为P)就可以这样P[key]取值。当实例对象做P[key]运算时,就会调用类中的__getitem__()方法。

 

  1.  
    # -*- coding:utf-8 -*-
  2.  
    class DataTest:
  3.  
    def __init__(self,id,address):
  4.  
    self.id=id
  5.  
    self.address=address
  6.  
    self.d={self.id:1,
  7.  
    self.address:"192.168.1.1"
  8.  
    }
  9.  
     
  10.  
    def __getitem__(self,key):
  11.  
    return "hello"
  12.  
     
  13.  
     
  14.  
    data=DataTest(1,"192.168.2.11")
  15.  
    print data[2]


输出结果为:

 

 

hello


在这我认为实例对象的key不管是否存在都会调用类中的__getitem__()方法。而且返回值就是__getitem__()方法中规定的return值。

posted @   水木清扬  阅读(2941)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
历史上的今天:
2019-12-29 公式的等齐编辑
2019-12-29 PYTHON画三维图
2018-12-29 c++静态库和动态库的添加
2018-12-29 cafe-ssd數據集訓練
点击右上角即可分享
微信分享提示