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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM