python 中 __init__的意義以及作用
python 中 __init__的用法和含義
python 中 __init__ 與PHP中的構(gòu)造函數(shù)相似__construct()
都具有初始化的作用。
1.python中的__init__是一個(gè)私有函數(shù)(方法),訪問(wèn)私有函數(shù)中的變量在python中用self,在PHP中用$this
2.在python類的定義中,一個(gè)函數(shù)(php叫方法)的參數(shù)中必須帶有self參數(shù),且self放在第一位
如下例子
class person():
def __init__(self,name,gender,birth,**kw)://可使用 **kw定義關(guān)鍵參數(shù),代表任意參數(shù) ,python中函數(shù)的代碼塊用:php用;
self.name=name
self.gender=gender
self.birth=birth
for k,w in kw.iteritems():
setattr(self,k,w) //python中是按照縮進(jìn)來(lái)判斷代碼塊的從屬
def sayhi(self):
print 'my name is',self.name
xiaoming = person('Xiao Ming', 'Male', '1991-1-1',job='student',tel='18089355',stdid='15010') //php中實(shí)例類用new,
xiaohong = person('Xiao Hong', 'Female', '1992-2-2')
print xiaoming.name
print xiaohong.birth
print xiaoming.job
print xiaoming.tel
print xiaoming.stdid
print xiaoming.sayhi()運(yùn)行結(jié)果如下
Xiao Ming
1992-2-2
student
18089355
15010
my name is Xiao Ming
補(bǔ)充:Python類中__init__()的作用
最開(kāi)始學(xué)習(xí)python,認(rèn)為定義類時(shí)__init__方法的作用等同于C中的構(gòu)造函數(shù),但是使用之后發(fā)現(xiàn)也有區(qū)別。
# coding:utf-8
class a():
def __init__(self,name):
self.name = name
def get_name(self):
return self.name
b = a("wang")
print(b.get_name())
Output:
-----
wang
-----例如:
執(zhí)行時(shí)的步驟可以理解為;
b = object.__new__(a) a.__init__(a,"wang")
即__init__的作用是初始化實(shí)例后的對(duì)象b
在子類不重寫__init__方法時(shí),子類會(huì)默認(rèn)調(diào)用父類中的__init__方法
子類也可以重寫__init__方法,來(lái)給子類定義專屬屬性
當(dāng)然,上面寫的是比較官方的解釋
用簡(jiǎn)單的話來(lái)講,可以理解為,類的屬性如果直接寫在類里面一般是要有值的。
例如:
class fun() a = 3
這樣的情況下,類中的屬性無(wú)法變成變量,當(dāng)將類的屬性以self.a的方式定義到初始化方法中,那屬性也可以當(dāng)成變量
例如:
class fun():
def __init__(self, a):
self.a = a
f = fun(3)
print(f.a)
Output:
--
3
--到此這篇關(guān)于python 中 __init__的意義以及作用的文章就介紹到這了,更多相關(guān)python 中 __init__用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用pandas導(dǎo)入xlsx格式的excel文件內(nèi)容操作代碼
這篇文章主要介紹了Python使用pandas導(dǎo)入xlsx格式的excel文件內(nèi)容,基本導(dǎo)入是在Python中使用pandas導(dǎo)入.xlsx文件的方法是read_excel(),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
Python畫圖小案例之多啦A夢(mèng)叮當(dāng)貓超詳細(xì)注釋
在看了很多Python教程之后,覺(jué)得是時(shí)候做點(diǎn)什么小項(xiàng)目來(lái)練練手了,于是想來(lái)想去,用python寫了一個(gè)童年記憶的卡通人物哆啦A夢(mèng),代碼注釋無(wú)比詳細(xì)清楚,快來(lái)看看吧2021-09-09
Python基于Streamlit實(shí)現(xiàn)音頻處理示例詳解
這篇文章主要為大家詳細(xì)介紹了如何基于Streamlit實(shí)現(xiàn)的音頻處理,包含錄音,語(yǔ)音轉(zhuǎn)文本,文件下載和進(jìn)度顯示功能,有需要的小伙伴可以參考一下2025-03-03
關(guān)于如何把Python對(duì)象存儲(chǔ)為文件的方法詳解
本文將給大家介紹如何把Python對(duì)象存儲(chǔ)為文件的方法,pickle可以用二進(jìn)制表示并讀寫python數(shù)據(jù),這個(gè)功能并不安全,如果把一個(gè)pickle暴露給別人,有被植入惡意程序的風(fēng)險(xiǎn),文中通過(guò)代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2024-01-01
詳解Pytorch+PyG實(shí)現(xiàn)GCN過(guò)程示例
這篇文章主要為大家介紹了Pytorch+PyG實(shí)現(xiàn)GCN過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
使用python處理一萬(wàn)份word表格簡(jiǎn)歷操作
這篇文章主要介紹了使用python處理一萬(wàn)份word表格簡(jiǎn)歷操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Python+Matplotlib+LaTeX玩轉(zhuǎn)數(shù)學(xué)公式
這篇文章主要為大家介紹了如何在Matplotlib中使用LaTeX?公式和符號(hào)以及Python如何生成LaTeX數(shù)學(xué)公式。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-02-02

