免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Python構(gòu)造函數(shù)(二十二)

構(gòu)造函數(shù)是一種特殊類(lèi)型的方法(函數(shù)),它在類(lèi)的實(shí)例化對(duì)象時(shí)被調(diào)用。 構(gòu)造函數(shù)通常用于初始化(賦值)給實(shí)例變量。 構(gòu)造函數(shù)還驗(yàn)證有足夠的資源來(lái)使對(duì)象執(zhí)行任何啟動(dòng)任務(wù)。

創(chuàng)建一個(gè)構(gòu)造函數(shù)

構(gòu)造函數(shù)是以雙下劃線(__)開(kāi)頭的類(lèi)函數(shù)。構(gòu)造函數(shù)的名稱是__init__()。

創(chuàng)建對(duì)象時(shí),如果需要,構(gòu)造函數(shù)可以接受參數(shù)。當(dāng)創(chuàng)建沒(méi)有構(gòu)造函數(shù)的類(lèi)時(shí),Python會(huì)自動(dòng)創(chuàng)建一個(gè)不執(zhí)行任何操作的默認(rèn)構(gòu)造函數(shù)。

每個(gè)類(lèi)必須有一個(gè)構(gòu)造函數(shù),即使它只依賴于默認(rèn)構(gòu)造函數(shù)。

舉一個(gè)例子:

創(chuàng)建一個(gè)名為ComplexNumber的類(lèi),它有兩個(gè)函數(shù)__init__()函數(shù)來(lái)初始化變量,并且有一個(gè)getData()方法用來(lái)顯示數(shù)字。

看這個(gè)例子:

#!/usr/bin/python3#coding=utf-8
class ComplexNumber:
def __init__(self, r = 0, i = 0):
''''初始化方法'''
self.real = r
self.imag = i
def getData(self):
print('{0}+{1}j'.format(self.real, self.imag))
if __name__ == '__main__':
c = ComplexNumber(5, 6)
c.getData()

執(zhí)行上面代碼,得到以下結(jié)果 -

5+6j

可以為對(duì)象創(chuàng)建一個(gè)新屬性,并在定義值時(shí)進(jìn)行讀取。但是不能為已創(chuàng)建的對(duì)象創(chuàng)建屬性。

看這個(gè)例子:

#!/usr/bin/python3
#coding=utf-8
class ComplexNumber:
def __init__(self, r = 0, i = 0):
''''初始化方法'''
self.real = r
self.imag = i
def getData(self):
print('{0}+{1}j'.format(self.real, self.imag))
if __name__ == '__main__':
c = ComplexNumber(5, 6)
c.getData()
c2 = ComplexNumber(10, 20)
# 試著賦值給一個(gè)未定義的屬性
c2.attr = 120
print('c2 = > ', c2.attr)
print('c.attr => ', c.attr)

執(zhí)行上面代碼,得到以下結(jié)果 -

5+6j
c2 = > 120
Traceback (most recent call last):
File 'D:\test.py', line 23, in <module>
print('c.attr => ', c.attr)
AttributeError: 'ComplexNumber' object has no attribute 'attr'

著作權(quán)歸作者所有
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Python 高級(jí)教程之類(lèi)
巧用Python裝飾器 免去調(diào)用父類(lèi)構(gòu)造函數(shù)的麻煩
__init__和__del__
Python中的面向?qū)ο缶幊淘斀?下)
Python面向?qū)ο缶幊蹋侯?lèi)和實(shí)例
你真的會(huì)用python的__init__方法嗎
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服