創(chuàng)建類
Python 類使用 class 關鍵字來創(chuàng)建。簡單的類的聲明可以是關鍵字后緊跟類名:
代碼如下:
class ClassName(bases):
'class documentation string' #'類文檔字符串'
class_suite #類體
實例化
通過類名后跟一對圓括號實例化一個類
代碼如下:
mc = MyClass() # instantiate class 初始化類
‘int()'構造器
def __int__(self):
pass
注意:self類似Java的this關鍵字作用,它代碼指向自身實例的引用
類屬性
python的屬性與Java和C++等面向?qū)ο笳Z言不同,python的屬性即包括了數(shù)據(jù)成員還包括函數(shù)元素,通過句點符號來訪問.
特殊數(shù)據(jù)內(nèi)建屬性
C.name 類C的名字(字符串)
C.doc 類C的文檔字符串
C.bases 類C的所有父類構成的元組
C.dict 類C的屬性
C.module 類C定義所在的模塊(1.5 版本新增)
C.class 實例C對應的類(僅新式類中)
特殊方法內(nèi)建屬性
dir():獲得類屬性或者實例屬性名字列表.
靜態(tài)變量屬性
直接在class作用域定義
代碼如下:
class C(object):
foo = 100
實例變量屬性
python的實例屬性與Java和C++等不同.在Java和C++中,實例屬性必須首先聲明/定義,而python實例屬性是動態(tài)創(chuàng)建。設置實例的屬性可以在實例創(chuàng)建后任意時間進行,也可以在能夠訪問實例的代碼中進行。構造
器init()是設置這些屬性的關鍵點之一。
代碼如下:
def __init__(self, name, data):
self.name = name
self.data = "123'
注意:self類似Java的this關鍵字作用,它代碼指向自身實例的引用
方法屬性
分為實例方法和類方法.實例方法只屬于一個實例;而類方法即屬于類所有,也屬于實例所有.
實例方法
代碼如下:
class MyClass(object):
def myNoActionMethod(self):
pass
注意:self類似Java的this關鍵字作用,它代碼指向自身實例的引用
靜態(tài)方法
靜態(tài)方法是類級別的方法,不需要實例化類就可以直接調(diào)用.有兩種方法定義
●裝飾器(常用)
代碼如下:
@staticmethod
def foo():
print 'call static method'
●內(nèi)建函數(shù)
代碼如下:
def foo():
print 'call static method'
foo = staticmethod(foo) #靜態(tài)方法
類方法
靜態(tài)方法是類級別的方法, 與靜態(tài)方法不同的是,它必須顯示傳入cls類參數(shù);而且如果還需要調(diào)用類中其他的靜態(tài)方法,或者類方法的函數(shù), 要定義成類方法. 與靜態(tài)方法類似,也有兩種方法定義.
新聞熱點
疑難解答