python三種屬性管理魔法函式

nt1979發表於2021-09-11

python三種屬性管理魔法函式

說明

1、_setattr_設定未知的屬性。

如果這個物件沒有這個屬性的話,設定未知的屬性的話,就會呼叫這個方法。

2、_getattr_找未知的屬性。

如果這個物件沒有這個屬性的話,找未知的屬性的話,就會呼叫這個方法。

3、_getattribute_無論是訪問存在還是不存在的屬性,都訪問了getatribute這個函式。

例項

class Foo(object):
    def __init__(self):
        pass
 
    def __setattr__(self, key, value):
        print("呼叫setattr方法,屬性為:", key, value)
        super().__setattr__(key, value)
 
    def __getattr__(self, item):
        print("呼叫getattr方法,屬性為:", item)
        return None
 
 
obj = Foo()
obj.x = 123
print(obj.x)
print(obj.w)

以上就是python三種屬性管理魔法函式,希望對大家有所幫助。更多Python學習指路:

本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4822/viewspace-2829500/,如需轉載,請註明出處,否則將追究法律責任。

相關文章