python笔记62 - __getitem__ 方法学习与使用
Posted 上海-悠悠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python笔记62 - __getitem__ 方法学习与使用相关的知识,希望对你有一定的参考价值。
前言
如果在类中定义了__getitem__()方法,那么他的实例对象(假设为P)就可以这样P[key]取值。
当实例对象做P[key]运算时,就会调用类中的__getitem__()方法。
__getitem__方法
A类的实例A()可以通过点的方式获取到属性
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
class A(object):
count = 0
def __init__(self):
self.name = "yoyo"
self.age = 18
def start(self):
print("start1111111")
a = A()
print(a.count)
print(a.name)
如果我们想实现a[‘name’]这种方式取值,在类中定义__getitem__()
方法就可以实现
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
class A(object):
count = 0
def __init__(self):
self.name = "yoyo"
self.age = 18
def start(self):
print("start1111111")
def __getitem__(self, item):
return object.__getattribute__(self, item)
a = A()
print(a.count)
print(a.name)
# 通过[key]语法调用属性
print(a['count'])
print(a['age'])
print(a['start'])
print(a['start']())
运行结果
0
yoyo
0
18
<bound method A.start of <__main__.A object at 0x0000027CC08D96D8>>
start1111111
None
以上是关于python笔记62 - __getitem__ 方法学习与使用的主要内容,如果未能解决你的问题,请参考以下文章
python学习之__getitem__,__setitem__,__delitem__
如何让 Python 2 的 __getitem__ 在类上工作? [复制]