|
今天開(kāi)始進(jìn)行Python類編寫的學(xué)習(xí),用起來(lái)還是比較簡(jiǎn)單的,Python允許在任何成員函數(shù)中聲明一個(gè)類的成員變量,不過(guò)實(shí)際開(kāi)發(fā)的時(shí)候這種做法不是一個(gè)好習(xí)慣。個(gè)人認(rèn)為,Python類的成員變量最好是在類的構(gòu)造函數(shù)里面聲明并作初始化,然后在其他的成員函數(shù)里面使用,這樣就不會(huì)出現(xiàn)對(duì)成員變量作條件判斷的時(shí)候,由于對(duì)該成員聲明和初始化的函數(shù)沒(méi)有被調(diào)用到,而導(dǎo)致程序出錯(cuò)。 以下是兩個(gè)簡(jiǎn)單的例子: class Wrong: def GetWrong(self): def SetWrong(self,bIsWrong):
錯(cuò)誤的調(diào)用順序: testWrong = Wrong() E:\>python Wrong.py
調(diào)整一下調(diào)用順序: testWrong = Wrong() E:\>python Wrong.py 問(wèn)題在哪里,前面已經(jīng)講過(guò)了,這只是一個(gè)簡(jiǎn)單的程序,還是比較好找原因,如果遇到一個(gè)復(fù)雜的程序,就不是這么簡(jiǎn)單了…… 如果我們?cè)跇?gòu)造函數(shù)中聲明初始化成員變量: class Wrong: 問(wèn)題就解決了,隨便利用什么調(diào)用順序,都沒(méi)有問(wèn)題。 |
|
|
來(lái)自: 軟件團(tuán)隊(duì)頭目 > 《python》