python __getitem__()方法理解

来源:互联网 发布:源码交易网站源码 编辑:程序博客网 时间:2024/06/07 08:45

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

# -*- coding:utf-8 -*-class DataTest:    def __init__(self,id,address):        self.id=id        self.address=address        self.d={self.id:1,                self.address:"192.168.1.1"                }            def __getitem__(self,key):        return "hello"    data=DataTest(1,"192.168.2.11")print data[2]

输出结果为:

hello

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

原创粉丝点击