1)class類包含:
類的屬性:類中所涉及的變量 類的方法:類中函數(shù)
2)_init_函數(shù)(方法)
1.首先說一下,帶有兩個下劃線開頭的函數(shù)是聲明該屬性為私有,不能在類地外部被使用或直接訪問。 2.init函數(shù)(方法)支持帶參數(shù)的類的初始化 ,也可為聲明該類的屬性 3.init函數(shù)(方法)的第一個參數(shù)必須是 self(self為習慣用法,也可以用別的名字),后續(xù)參數(shù)則可 以自由指定,和定義函數(shù)沒有任何區(qū)別。
3)函數(shù)定義 Python編程中對于某些需要重復調(diào)用的程序,可以使用函數(shù)進行定義,基本形式為: def 函數(shù)名(參數(shù)1, 參數(shù)2, ……, 參數(shù)N): 其代碼形式如下面所示:
def function_name (parameters): block return value注意在類的內(nèi)部,使用def關(guān)鍵字可以為類定義一個函數(shù)(方法),與一般函數(shù)定義不同,類方法必須包含參數(shù)self,且為第一個參數(shù)! 此外,可使用 **kw定義關(guān)鍵參數(shù),代表任意參數(shù),python函數(shù)可變參數(shù)及關(guān)鍵字參數(shù)定義參考見下文。 python函數(shù)只能先定義再調(diào)用!
4)self參數(shù)含義 在類的代碼(函數(shù))中,需要訪問當前的實例中的變量和函數(shù)的,即,訪問Instance中的: 對應的變量(PRoperty):Instance.ProperyNam,去讀取之前的值和寫入新的值 調(diào)用對應函數(shù)(function):Instance.function(),即執(zhí)行對應的動作 此處的Instance本身就是self。 Python中的self等價于C++中的self指針和java、C#中的this參數(shù)。
5)一個簡單實例
5.1代碼如下
class person(): def __init__(self,name,gender,birth,**kw): self.name=name self.gender=gender self.birth=birth for k,w in kw.iteritems(): setattr(self,k,w) def sayhi(self): print 'my name is',self.namexiaoming = person('Xiao Ming', 'Male', '1991-1-1',job='student',tel='18089355',stdid='15010')xiaohong = person('Xiao Hong', 'Female', '1992-2-2')print xiaoming.nameprint xiaohong.birthprint xiaoming.jobprint xiaoming.telprint xiaoming.stdidprint xiaoming.sayhi()5.2運行結(jié)果
Xiao Ming1992-2-2student1808935515010my name is Xiao MingNone5.3實例解釋 在本例中建立一個person的類,并賦值了兩個實例:xiaoming和xiaohong , self指的是傳入的實例(不同實例類的屬性值不同以及方法執(zhí)行結(jié)果不同)即xiaoming和xiaohong,類的屬性即為name,gender,birth及其他kw,類的方法即為sayhi。有關(guān)關(guān)鍵字參數(shù)請參考python的可變參數(shù)和關(guān)鍵字參數(shù)(*args **kw)
6)參考資源 python類的初始化屬性
新聞熱點
疑難解答