類是創建實例的模板,而實例則是一個一個具體的對象,各個實例擁有的數據都互相獨立,互不影響。
- 實例方法是一個普通的函數,類方法和靜態方法都是通過函數裝飾器的方式實現的;
- 實例方法需要傳入self,類方法需要傳入cls參數,靜態方法無需傳入self參數或者是cls參數(但不等同于不能傳入參數)
_xxx
?: “單下劃線” 開始的成員變量叫做保護變量,意思是只有類實例和子類實例能訪問到這些變量,需通過類提供的接口進行訪問;不能用from module import *
導入
__xxx
?: 類中的私有變量/方法名 (Python的函數也是對象,所以成員方法稱為成員變量也行得通。), " 雙下劃線 " 開始的是私有成員,意思是只有類對象自己能訪問,連子類對象也不能訪問到這個數據。
用 @staticmethod 裝飾器聲明,不需要任何 self 或 cls 參數。靜 態函數通過類調用也可以,通過實例調用也可以。
dir() 函數不帶參數時,返回當前范圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。
__name__
首先對于用雙下劃線開頭且結尾的變量,在 Python 中被稱為內置變量,除了?__name__
,我們常見的還有?__init__
,__dict__
?等等.
__name__ 是屬于 python 中的內置類屬性,就是它會天生就存在于一個 python 程序中,代表對應程序名稱。