【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魔法和方法共同點在哪”的全部內容了,希望對你有所幫助 。
猜你喜歡
- Python常用魔術方法有哪些?Python可用魔術方法是什么
- 蟹殼黃怎么做 蟹殼黃的制作方法
- Python魔術方法是什么?Python魔術方法以及原理詳解
- Python抽象類有什么用?Python抽象類和普通類區別是什么
- 雞柳怎么做輔食 雞柳做輔食方法
- Python中基類是什么意思?Python基類和派生類關系是什么
- Python元類的概念是什么?Python中元類的作用是什么
- Python中xlwings庫的功能是什么?Python中xlwings庫的使用方法
- 怎么在Python中使用getopt函數?Python中getopt函數的用法詳解
- Anaconda中如何安裝第三方包?Windows下anaconda安裝第三方包的方法
