python中class里面的self是什么意思?
問題描述
def __init(self)
這個(gè)self什么意思:?
問題解答
回答1:self就是代表自己,self.name=’xxx’,就是說(shuō)這個(gè)類的name屬性值是’xxx’,def _init_(self):xxxx就是在新建這個(gè)類的實(shí)例的時(shí)候,會(huì)自動(dòng)執(zhí)行的方法,而def test(self):xxxx就是你可以調(diào)用的方法有self.test()。這樣說(shuō)你是不是明白了?
回答2:self 指你將要引用的對(duì)象,在初始化時(shí)和調(diào)用方法時(shí)略有不同. 比如
class A: def __init__(self, name):self.name = name def printname(self):print(self.name)a = A(’hello’)a.printname()
在初始化對(duì)象時(shí), self指代這個(gè)新創(chuàng)建的對(duì)象,所以a賦值給self,則self.name相當(dāng)于a.name, 所以為對(duì)象a創(chuàng)建了一個(gè)屬性name. 在調(diào)用方法時(shí): self 指代你要引用的對(duì)象,就是要作用的對(duì)象,即a. 所以self被賦值為a. 所以print(self.name)相當(dāng)于print(a.name).
書籍: Python學(xué)習(xí)手冊(cè) 上有很詳細(xì)的解釋.
相關(guān)文章:
1. javascript - vuejs+elementui 購(gòu)物車價(jià)格計(jì)算,點(diǎn)擊加減號(hào)修改數(shù)量總價(jià)都不會(huì)改變,但是計(jì)算執(zhí)行了2. css右浮動(dòng)字的順序顛倒了3. MySQL主鍵沖突時(shí)的更新操作和替換操作在功能上有什么差別(如圖)4. html5和Flash對(duì)抗是什么情況?5. javascript - 我是做web前端的,公司最近有一個(gè)項(xiàng)目關(guān)于數(shù)據(jù)統(tǒng)計(jì)的!6. ios - 類似微博首頁(yè),一張圖的時(shí)候是如何確定圖大小的?7. javascript - 如何使用loadash對(duì)[object,object,object]形式的數(shù)組進(jìn)行比較8. javascript - vue過渡效果 css過渡 類名的先后順序9. javascript - 在ie下為什么會(huì)出現(xiàn)這種情況呢 《 無(wú)法獲取未定義或 null 引用的屬性“l(fā)ength”》 ?請(qǐng)大神指教。10. 數(shù)據(jù)庫(kù) - Mysql的存儲(chǔ)過程真的是個(gè)坑!求助下面的存儲(chǔ)過程哪里錯(cuò)啦,實(shí)在是找不到哪里的問題了。
