天天看點

說說Python類中的self參數?

說說Python類中的self參數?

公衆号新增加了一個欄目,就是每天給大家解答一道Python常見的面試題,反正每天不貪多,一天一題,正好合适,隻希望這個面試欄目,給那些正在準備面試的同學,提供一點點幫助!

小猿會從最基礎的面試題開始,每天一題。如果參考答案不夠好,或者有錯誤的話,麻煩大家可以在留言區給出自己的意見和讨論,大家是要一起學習的 。

廢話不多說,開始今天的題目:

問:說說Python中類的self參數?

答:在Python類中規定,函數的第一個參數是執行個體對象本身,并且約定俗成名字寫為self。等價于C++中的self指針和Java、C#中的this參數。表示目前類的對象,可以調用目前類中的屬性和方法。

首先明确的是self隻有在類的方法中才會有,獨立的函數或方法是不必帶有self的。self在定義類的方法時是必須有的,雖然在調用時不必傳入相應的參數。

class Person:

    #屬性

    #方法

    def run(self):

        print ("歡迎關注:程式IT圈")

    def run2(self,name):

        print("歡迎關注:",name)

#建立對象

p=Person()

p.run()

p.run2("程式IT圈")

輸出結果:

歡迎關注:程式IT圈

歡迎關注: 程式IT圈

類 class 中為啥需要用使用 self ?

在類的代碼(函數)中,需要通路目前的執行個體中的變量和函數的,即,通路Instance中對應的變量(property):

Instance.ProperyNam,去讀取之前的值和寫入新的值。

調用對應函數(function):Instance.function(),即執行對應的動作 。此處的Instance本身就是self。

如果感覺文字看不懂,建議大家看看下面這個視訊,就懂了!

至于什麼時候用加self,什麼時候不用加self?

如果對于參考答案有不認同的,大家可以在評論區指出和補充,歡迎留言!