Python 类特殊方法__getitem__如何使用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 类特殊方法__getitem__如何使用?相关的知识,希望对你有一定的参考价值。

本文和大家分享的主要是python类的特殊方法__getitem__相关内容,一起来看看吧,希望对大家学习python有所帮助。
凡是在类中定义了这个__getitem__ 方法,那么它的实例对象(假定为p),可以像这样
p[key] 取值,当实例对象做p[key] 运算时,会调用类中的方法__getitem__
先用一个夸张一点的例子来说明这个问题。

当实例对象通过[] 运算符取值时,会调用它的方法__getitem__,从上面代码中输出二个笑脸可以看出来。
一般这样用
’’’
黄哥Python 联系方式,自己搜
’’’
class DataBase:
’’’Python 3 中的类’’’
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 self.__dict__.get(key, "100")
return self.d.get(key, "default")
data = DataBase(1, "192.168.2.11")
print(data["hi"])
print(data[data.id])
或者
’’’
黄哥Python 联系方式,自己搜
’’’
class DataBase:
’’’Python 3 中的类’’’
def __init__(self, id, address):
’’’初始化方法’’’
self.id = id
self.address = address
def __getitem__(self, key):
return self.__dict__.get(key, "100")
data = DataBase(1, "192.168.2.11")
print(data["hi"])
print(data["id"])
来源:网络

以上是关于Python 类特殊方法__getitem__如何使用?的主要内容,如果未能解决你的问题,请参考以下文章

Python_67面向对象类之特殊成员setitem/getitem/delitem

Python 数据模型

Python 数据模型

Python 中的特殊双下划线方法

python学习笔记-Day8 下 (特殊方法iter方法super方法有序字典实现python单例模式)

python特殊方法解析