python-屬性的查找與綁定方法
阿新 • • 發佈:2018-05-05
空間 spl nbsp 多個 pri splay tro eat 找不到
類的屬性:
類中有兩種屬性:
數據屬性:類的數據屬性是所有對象共享的。
eg: 在類中定義了一個 school = ‘luffycity‘ #這個稱類的數據屬性。
當這個類生成了多個對象時,這些對象都享有這個數據屬性。
函數屬性:類的函數屬性是綁定給對象使用的。
eg: 類中定義了一個 函數:
def eat():
print (‘is eatting‘)
當生成一個stu1對象並使用這個eat方法是時,執行結果只影響stu1
註意:當定義了一個對象時它的查找順序如下:
先由對象的名稱空間找屬性,當找不到的時候,
就會從類的名稱空間找,再找不到,在父類名稱空間找,還是找不到,就會報錯。
綁定方法:
在類中所定義的函數——是類的函數屬性,類自己可以使用,但必須遵守函數的參數規則,有幾個參數需要傳幾個參數。
class OldboyStudent: school=‘oldboy‘ def __init__(self,name,age,sex): self.name=name self.age=age self.sex=sex def learn(self): print(‘%s is learningView Code‘ %self.name) #新增self.name def eat(self): print(‘%s is eating‘ %self.name) def sleep(self): print(‘%s is sleeping‘ %self.name) s1=OldboyStudent(‘李坦克‘,‘男‘,18) print(OldboyStudent.learn(s1)) # 類使用類定義的函數learn ,需要傳參。 # 現在把對象s1傳進去的意思是 #可
註意:1、類中定義的函數主要給對象使用的,且是綁定到對象的。
2、類定義的函數功能一樣,但類綁定到不同的對象,就是不同的綁定方法。
3、綁定對象的方法的這種自動傳值的特征,決定了類中定義的函數都要寫一個self參數。
類即類型:
python3 中一切皆對象,且python3 中類與類型是同一個概念,類型就是類。
python-屬性的查找與綁定方法