首先明確的是self只有在類(lèi)的方法中才會(huì)有,獨(dú)立的函數(shù)或方法是不必帶有self的。self在定義類(lèi)的方法時(shí)是必須有的,雖然在調(diào)用時(shí)不必傳入相應(yīng)的參數(shù)。
self名稱(chēng)不是必須的,在python中self不是關(guān)鍵詞,你可以定義成a或b或其它名字都可以,但是約定成俗,不要搞另類(lèi),大家會(huì)不明白的。下例中將self改為myname一樣沒(méi)有錯(cuò)誤:
classPerson:
def_init_(myname,name):
? ? ? ? ? ? ? ? ? ? ? ?myname.name=name
? ? ? ? ? ? def ? sayhello(myname):
? ? ? ? ? ? ? ? ? ? ? ?print ?'My name is:',myname.name ?約定俗成?
? p=Person('Bill')
? print ?p