在Python中,self
是一個(gè)約定俗成的參數(shù)名,用于表示實(shí)例對(duì)象自身。它在類(lèi)的方法中作為第一個(gè)參數(shù)傳遞,用于引用調(diào)用該方法的實(shí)例對(duì)象。
以下是對(duì) self
的幾個(gè)關(guān)鍵理解:
表示實(shí)例對(duì)象:self
用于表示類(lèi)的實(shí)例對(duì)象本身。當(dāng)我們調(diào)用一個(gè)類(lèi)的方法時(shí),用 self
來(lái)引用該方法所屬的實(shí)例對(duì)象。
訪問(wèn)實(shí)例屬性和方法:通過(guò) self
,可以在類(lèi)的方法中訪問(wèn)和操作實(shí)例對(duì)象的屬性和方法。例如,self.name
可以用來(lái)訪問(wèn)實(shí)例對(duì)象的 name
屬性。
區(qū)分實(shí)例和類(lèi):使用 self
可以區(qū)分類(lèi)級(jí)別的方法和屬性與實(shí)例級(jí)別的方法和屬性。類(lèi)級(jí)別的方法和屬性是被所有實(shí)例共享的,而實(shí)例級(jí)別的方法和屬性是每個(gè)實(shí)例對(duì)象獨(dú)立擁有的。
調(diào)用其他方法:通過(guò) self
,可以在一個(gè)方法中調(diào)用同一個(gè)類(lèi)中的其他方法。這樣可以實(shí)現(xiàn)方法之間的相互調(diào)用和協(xié)同工作。
需要注意的是,雖然 self
是慣用的參數(shù)名,但它不是Python的保留字。因此,在類(lèi)的方法中,也可以使用其他名稱(chēng)來(lái)代替 self
,但通常建議遵循習(xí)慣并使用 self
。
下面是一個(gè)簡(jiǎn)單的例子,展示了 self
的使用:
class Example:
def __init__(custom, name):
custom.name = name
def say_hello(custom):
print(f"Hello, my name is {custom.name}")
obj = Example("Apce")
obj.say_hello()
在上述例子中,類(lèi) Example
中的方法使用自定義的參數(shù)名 custom
代替了 self
。但是,它們的作用和使用方式與使用 self
是相同的。通過(guò) custom.name
,我們可以訪問(wèn)實(shí)例對(duì)象的屬性。
通過(guò)理解和正確使用 self
,可以更好地編寫(xiě)面向?qū)ο蟮拇a,并在類(lèi)的方法中正確引用和操作實(shí)例對(duì)象的屬性和方法。