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值。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM