python中class里面的self是什么意思?
問題描述
def __init(self)
這個self什么意思:?
問題解答
回答1:self就是代表自己,self.name=’xxx’,就是說這個類的name屬性值是’xxx’,def _init_(self):xxxx就是在新建這個類的實例的時候,會自動執(zhí)行的方法,而def test(self):xxxx就是你可以調(diào)用的方法有self.test()。這樣說你是不是明白了?
回答2:self 指你將要引用的對象,在初始化時和調(diào)用方法時略有不同. 比如
class A: def __init__(self, name):self.name = name def printname(self):print(self.name)a = A(’hello’)a.printname()
在初始化對象時, self指代這個新創(chuàng)建的對象,所以a賦值給self,則self.name相當(dāng)于a.name, 所以為對象a創(chuàng)建了一個屬性name. 在調(diào)用方法時: self 指代你要引用的對象,就是要作用的對象,即a. 所以self被賦值為a. 所以print(self.name)相當(dāng)于print(a.name).
書籍: Python學(xué)習(xí)手冊 上有很詳細(xì)的解釋.
相關(guān)文章:
1. boot2docker無法啟動2. 關(guān)于docker下的nginx壓力測試3. 老師,按tab鍵不起作用怎么回事4. node.js - antdesign怎么集合react-redux對input控件進(jìn)行初始化賦值5. python - django的model字段在保存的時候做預(yù)處理怎么辦?6. python2.7 - Python安裝模組不成功7. javascript - 在低版本微信如何處理引用高版本的微信小程序基礎(chǔ)庫所帶來的問題?8. ios - 類似微博首頁,一張圖的時候是如何確定圖大小的?9. angular.js - Angular開發(fā)的單頁面應(yīng)用,如何正確地實現(xiàn)在微信里的網(wǎng)頁授權(quán)和調(diào)用js sdk10. mysql - sql數(shù)據(jù)還原

網(wǎng)公網(wǎng)安備