如果在類中定義了__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值。