python 嚴(yán)格要求方法有實(shí)例才能夠被調(diào)用匈勋,這種限制其實(shí)就是Python的綁定概念。
class C:
? ? ? def printBB():
? ? ? ? ? ? ?print ‘BB’
>>? C.printBB()
BB
>> c = C()
>> c.printBB()
報(bào)錯(cuò)膳叨,因?yàn)閜rintBB方法定義的時(shí)候沒(méi)有實(shí)例洽洁,無(wú)法接受c這個(gè)實(shí)例,即 printBB() 參數(shù)中沒(méi)有self菲嘴,因加上self來(lái)接受c這個(gè)實(shí)例對(duì)象才能被調(diào)用饿自。
class CC:
? ? ? def setXY(self, x, y):
? ? ? ? ? ? ?self.x = x
? ? ? ? ? ? ?self.y = y
? ? ?def printXY(self):
? ? ? ? ? ? ?print self.x, self.y
>> dd = CC()
>> dd.__dict__? ?###########? ? ?雙橫線包圍的dict,? __dict__, 是用來(lái)查看當(dāng)前對(duì)象的屬性和方法 返回的是字典類型
{}
>>CC.__dict__? ##?
{...........}? ?### 鍵值對(duì)? ?但是CC當(dāng)前沒(méi)有屬性,因?yàn)槎x的時(shí)候沒(méi)有定義屬性
>> dd.setXY(4,5)? ?###### 相當(dāng)于 dd.setXY(dd, 4, 5) 而沒(méi)改變CC
>>dd.__dict__
{ 'x':4, 'y':5}
現(xiàn)在討論一下,將CC刪去的話龄坪,dd還能否調(diào)用printXY
>> del CC
>> ee = CC()
報(bào)錯(cuò)昭雌,找不到CC了
>> dd.printXY()
4, 5? ?############# 類中的屬性方法是靜態(tài)變量,雖然類對(duì)象被刪除了健田,但是類申明的變量還是存在內(nèi)存中烛卧, 直到程序退出的時(shí)候才會(huì)? ? ? ? ? ? ###? ?被釋放。