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

Python魔術方法和魔法方法有什么區別?Python魔法和方法共同點在哪

【Python魔術方法和魔法方法有什么區別?Python魔法和方法共同點在哪】python類中會有很多自帶的方法可以去使用,而這些方法會根據調用方式而分為魔術方法以及魔法方法,很多小伙伴對于它們的異同點都不太了解 。那么下文就是會來詳細介紹一下,python魔術方法和魔法方法的異同點,以及該怎么區分它們 。

Python魔術方法和魔法方法有什么區別?Python魔法和方法共同點在哪


一、共同點
這兩類方法最大的共同點就是會在名稱左右兩邊加上兩個下劃線,這其實是表示該方法對象為私有變量,只能夠在當前類作用域中去調用 。那么第二個共同點就是,魔術方法和魔法符都是只能夠在類作用域里面調用的 。
那么第三個共同點就在于,無論是魔術方法還是魔法方法,都可以在類中通過重載的方式來將其執行之后的結果進行修改,代碼示例如下所示:
class A:    def __init__(self):        self.id = "Pyhon"    def __setattr__(self,name,value):        print("將屬性"+name+"置為"+value)a = A()二、區別
python魔術方法以及魔法方法有且只有一個區別,并且這也是區分它們的唯一方式 。那就是,魔術方法會在類實例化或者類對象執行默寫操作時默認自動調用,而魔法方法則是可以在類里面去手動調用來使用它 。
所以__init__左右兩邊都有下劃線,但是它屬于魔術方法,因為類實例化時會去調用它 。但實際上它們二者之間的差異和區別是非常小的,因為有些魔術方法同時可以自動執行和手動調用 。
以上就是關于“Python魔術方法和魔法方法有什么區別?Python魔法和方法共同點在哪”的全部內容了,希望對你有所幫助 。

    猜你喜歡