青青草免费线看线看|啊在车上停不下来了|国产少女免费观看电视剧|仑乱88MAV|精品老司机在线观看视频|国产一区二区三区高清免费视频|在线观看免费777av

Python如何管理魔法函數?Python三種屬性管理魔法函數

在Python函數的學習中 , 存在一種比較高級的語法 , 就是可以允許我們在類的定義中使用自定義函數 , 這就是我們說的魔法函數 , 對于魔法函數的管理 , 我們可以分成三種不同的屬性 , 下面一起來看看這三種屬性吧 。

Python如何管理魔法函數?Python三種屬性管理魔法函數


一、什么是魔法函數
之前所了解了魔法方法 , 就是在定義的時候 , 通常是以下劃線作為開頭和結束 , 在Python中魔法函數就是魔法方法 , 它是Python中存在的一種比較高級的語法 , 通常實在類的自定義函數中使用 , 允許用戶在類中自定義函數 , 并且這個函數要綁定到類的特殊方法中 。
二、管理魔法函數
【Python如何管理魔法函數?Python三種屬性管理魔法函數】在Python中要對函數進行管理 , 有三種方式 , 下面分別給大家講解
說明
1、_setattr_設定未知的屬性
當我們定義一個類的對象的時候 , 默認情況下會將一個屬性名和值存放在一個實例對象中 , 如果在一個對象中 , 需要使用到這個屬性的時候 , 并在沒有設置的情況下 , 它會自動的調用這個方法 。代碼如下:
class Foo(object):    def __init__(self):        pass    def __setattr__(self, key, value):        print("調用setattr方法,屬性為:", key, value)        super().__setattr__(key, value)2、_getattr_找未知的屬性
第二種管理方式是使用_getattr_ , 它是去找到一個未知的屬性 , 并且會對這個方法進行調用 。例如:
def __getattr__(self, item):   print("調用getattr方法,屬性為:", item)   return None3、_getattribute_
這個函數是一個Python內建的方法 ,  它一種可以對屬性進行攔截的工具 ,  , 就是當這個類的屬性被實例訪問時 , 會自動調用類的__getattribute__方法 
def __getattribute__(self, attr): #注意:這里的attr是傳入的屬性名,不是屬性值        print("開始屬性校驗攔截功能")        print(attr)        return object.__getattribute__(self, attr) 返回一個屬性名到此這篇關于Python如何管理魔法函數?Python三種屬性管理魔法函數的內容就分享到這里了 , 希望文章中的內容可以對大家的學習帶來一定的幫助 。

    猜你喜歡