Python 中的 self 關鍵字
本教程將講解 Python 中 self
關鍵字的用途和用法。在物件導向程式設計中,我們有類,每個類都有各種屬性和方法。每當建立一個類的物件或例項時,都會呼叫建構函式(Python 中的 __init__()
方法)來初始化例項的屬性。
在建立一個類的例項時,我們需要將例項的屬性與引數和其他變數區分開來或指定。而這時我們就需要用 self
關鍵字來指定我們要把值傳遞給例項屬性,而不是傳遞給本地的同名變數或引數。
假設,對於 car
類,我們將引數 color
傳遞給 __init__()
方法來初始化 car
類的 color
屬性,我們會將例項的 color
屬性指定為 self.color
,這說明 car
類有一個屬性 color
,我們將值傳遞給該屬性。
同樣,我們也可以使用 self
關鍵字呼叫類的例項方法,比如 car
類的 self.start()
方法。所以簡而言之,我們可以說 self
關鍵字允許使用者指定和訪問類的例項的屬性和方法。
Python 中 self
關鍵字的使用和示例程式碼
現在,讓我們通過示例程式碼來看看 Python 中如何使用 self
關鍵字來指定一個例項的方法和屬性。
下面給出的第一段示例程式碼演示了在 __init__()
方法中如何使用 self
關鍵字來初始化被初始化的例項的屬性。我們不需要在初始化之前宣告或建立變數,也不需要給變數賦值,這樣我們就可以用下面的方式初始化例項的屬性。
class car:
def __init__(self, model, color):
self.model = model
self.color = color
mycar = car("model XYZ", "red")
print(mycar.model)
print(mycar.color)
輸出:
model XYZ
red
如上所示,在建立一個新的類的例項時,會自動呼叫 __init__()
方法,它的屬性會被初始化。self
需要作為該方法的引數來訪問例項的方法和屬性。
下面的示例程式碼演示瞭如何在 Python 中使用 self
關鍵字來呼叫其他類方法中的例項/類方法。
class car:
def __init__(self, model, color):
self.model = model
self.color = color
self.start()
def start(self):
print(self.model + ", has started!")
mycar = car("model XYZ", "red")
輸出:
model XYZ, has started!
和上面的示例程式碼一樣,我們可以使用 self
關鍵字來呼叫類方法,並通過傳遞類的例項作為 self
引數來訪問任何類方法中的屬性。