python中class里面的self是什么意思?
問題描述
def __init(self)
這個(gè)self什么意思:?
問題解答
回答1:self就是代表自己,self.name=’xxx’,就是說這個(gè)類的name屬性值是’xxx’,def _init_(self):xxxx就是在新建這個(gè)類的實(shí)例的時(shí)候,會(huì)自動(dòng)執(zhí)行的方法,而def test(self):xxxx就是你可以調(diào)用的方法有self.test()。這樣說你是不是明白了?
回答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. java - 在session里面設(shè)了一個(gè)對(duì)象,但是在Jsp中取不到2. javascript - node中為中間層如何解決跨域問題3. javascript - Object.create(null) 和 {} 區(qū)別是什么4. 看了好幾遍為什么點(diǎn)擊登錄沒有反應(yīng)呢 在線等。。。。5. 在mac下出現(xiàn)了兩個(gè)docker環(huán)境6. html5 - 百度echart官網(wǎng)下載的地圖json數(shù)據(jù)亂碼7. PhpStudy 8.0 一個(gè)服務(wù)器怎么創(chuàng)建多個(gè)網(wǎng)站,需要注意一些什么8. javascript - webpack-dev-server 打包沒有報(bào)錯(cuò) 但是沒有生成文件9. javascript - webpack打包問題10. python - Django 表單問題?
