python中的 init 的含義

2022-08-18 16:30:21 字數 1555 閱讀 2805

上面的例子中,person是乙個類,_init_是乙個特殊的方法(init是單詞初始化initialization的省略形式),在使用類建立物件之後被執行,用於給新建立的物件初始化屬性用。

self.name = name    就是初始化屬性的語句

_init_是乙個方法,這個方法裡面有三個形參self、name、age。self表示物件本身,誰呼叫就表示誰

這裡self.name = name 和 self.age = age表示將外部傳來的name 和 age,賦值給了self 物件的name和age屬性。

下面是建立物件:p = person('小明',20) ---------這句話就建立出來了乙個具體的人,並且給這個人起了個名字叫小明,指定了小明的年齡為20,並且將小明這個物件賦值給了變數p,此時p就表示小明這個人(物件)。

這句話就代表,創造了乙個人物件(小明),並呼叫了 init(self,name,age) 方法完成了該人的屬性的初始化,小明賦值給name,20賦值給age屬性。

而self是不需要傳參的,因為slef表示物件本身,誰呼叫就表示誰,此時的self就表示person('小明',20),也就是p。

也就是,我們創造出了p,然後給p的屬性賦了值,此時p就表示擁有屬性值之後的那個人。

可以使用點.來呼叫物件的屬性,比如輸出p的名字和年齡,完整**為:

例子:接下來我們再在person類中定義乙個方法,用於自我介紹:

def desc(self):

print("我叫%s,今年%d歲" % (self.name, self.age))

在類的內部,訪問自己的屬性和方法,都需要通過self,self就是外部物件在類內部的表示,此時可以使用p呼叫該方法,完整**如下:

class person:

def __init__(self, name, age):

self.name = name

self.age = age

def desc(self):

print("我叫%s,今年%d歲" % (self.name, self.age))

p = person('傑拉考', 200)

# 呼叫自我介紹方法 desc方法中的self就是外部的這個p

p.desc()

輸出為:

我叫傑拉考,今年200歲
當前desc方法中的self,就是外部的那個物件p,如果我再定義了乙個物件p2,那麼p2呼叫desc時,desc中的self就表示p2這個物件。正所謂:誰呼叫,就表示誰

詳細解讀Python中的 init

init 方法意義重大的原因有兩個。第乙個原因是在物件生命週期中初始化是最重要的一步 每個物件必須正確初始化後才能正常工作。第二個原因是init 引數值可以有多種形式。因為有很多種方式為init 提供引數值,對於物件建立有大量的用例,我們可以看看其中的幾個。我們想盡可能的弄清楚,因此我們需要定義乙個...

python中對 init 的理解

一 self的位置是出現在 首先,self是在類的方法中的,在呼叫此方法時,不用給self賦值,python會自動給他賦值,而且這個值就是類的例項 物件本身。也可以將self換成別的叫法例如seef,但不建議,因為大家習慣也預設了寫成self。二 self的值是什麼?self的值是python會自動...

如何理解 Python 中的 init

定義類的時候,若是新增 init 方法,那麼在建立類的例項的時候,例項會自動呼叫這個方法,一般用來對例項的屬性進行初使化。比如 class testclass def init self,name,gender 定義 init 方法,這裡有三個引數,這個self指的是一會建立類的例項的時候這個被建立...