Time will tell(時間會證明一切).
1、self是什么?
如果你問別人大多人回答是:指物件本身,然后噼里啪啦說一堆,然后聽完的你,仍然完全搞不清楚,什么時候變數前需要加self,什么時候不需要加self,

造成很多人,已經怕了self,不停地測驗,加self減self來測驗代碼,或者干脆不知道要不要self,所有變數前面一律加self,這樣就能瞎貓碰死老鼠了,但不弄清楚,長期這樣做法有點悲劇,
2、所以不需要這么去想self代表物件本身,換個思維應該認為self是全域變數
如果變數前面加了self,那么在任何實體方法(非staticmethod和calssmethod)就都可以訪問這個變數了,
**#! /usr/bin/python3 **class Test(): """變數在函式內部""" def test_login(self): # 變數在函式內部 self.word = "烏龜" def common(self): # 列印會報錯 print(self.word)** T = Test() T.common()** *** #! /usr/bin/python3 class Test(): """變數在函式外部,屬公共的""" word = "烏龜" def test_login(self): # 正常列印 print(self.word) def common(self): # 正常列印 print(self.word) T = Test() T.common() T.test_login()
如果沒有加self,只有在當前函式內部才能訪問這個變數,
#! /usr/bin/python3 class Test(): """呼叫方法中的私有屬性""" def test_login(self): word = "烏龜" # 正確列印 print(word) def common(self): # 列印會報錯 print(word) T = Test() T.test_login() T.common()
3、類中方法如何呼叫
呼叫類中方法:self.方法名
#! /usr/bin/python3 class Test(): """呼叫類中方法""" def test_login(self): print("呼叫登錄方法") def test_exit(self): self.test_login() T = Test() T.test_exit()
絮叨
對介面、自動化、軟體測驗零基礎入門、python全堆疊、面試題感興趣可以加入我們175317069一起學習,群內會有不定期測驗資料鏈接發放喔,
如果文章對你有幫助,麻煩點個贊,感謝您的支持,你的點贊是我持續更新的動力,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/70495.html
標籤:其他
