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

打開APP
userphoto
未登錄

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

開通VIP
Pythontype()函數(shù):動(dòng)態(tài)創(chuàng)建類

   我們知道,type()函數(shù)屬于Python內(nèi)置函數(shù),通常用來查看某個(gè)變量的具體類型。其實(shí),type()函數(shù)還有一個(gè)更高級(jí)的用法,即創(chuàng)建一個(gè)自定義類型(也就是創(chuàng)建一個(gè)類)。

    type()函數(shù)的語(yǔ)法格式有2種,分別如下:

type(obj) 
type(name, bases, dict)12復(fù)制代碼類型:[python]

    以上這2種語(yǔ)法格式,各參數(shù)的含義及功能分別是:

    第一種語(yǔ)法格式用來查看某個(gè)變量(類對(duì)象)的具體類型,obj表示某個(gè)變量或者類對(duì)象。

    第二種語(yǔ)法格式用來創(chuàng)建類,其中name表示類的名稱;bases表示一個(gè)元組,其中存儲(chǔ)的是該類的父類;dict表示一個(gè)字典,用于表示類內(nèi)定義的屬性或者方法。

    對(duì)于使用type()函數(shù)查看某個(gè)變量或類對(duì)象的類型,由于很簡(jiǎn)單,這里不再做過多解釋,直接給出一個(gè)樣例: 

#查看 3.4 的類型print(type(3.4))#查看類對(duì)象的類型class CLanguage:
 passclangs = CLanguage()
print(type(clangs))1234567復(fù)制代碼類型:[python]

    輸出結(jié)果為:

<class 'float'>
<class '__main__.CLanguage'>12復(fù)制代碼類型:[python]

  這里重點(diǎn)介紹type()函數(shù)的另一種用法,即創(chuàng)建一個(gè)新類,先來分析一個(gè)樣例:

#定義一個(gè)實(shí)例方法def say(self):
 print("我要學(xué) Python!")#使用 type() 函數(shù)創(chuàng)建類CLanguage = type("CLanguage",(object,),dict(say = say, name = "開課吧廣場(chǎng)"))#創(chuàng)建一個(gè) CLanguage 實(shí)例對(duì)象clangs = CLanguage()#調(diào)用 say() 方法和 name 屬性clangs.say()
print(clangs.name)12345678910復(fù)制代碼類型:[python]

    注意,Python元組語(yǔ)法規(guī)定,當(dāng)(object,)元組中只有一個(gè)元素時(shí),最后的逗號(hào)(,)不能省略。

    可以看到,此程序中通過type()創(chuàng)建了類,其類名為CLanguage,繼承自objects類,且該類中還包含一個(gè)say()方法和一個(gè)name屬性。

    有讀者可能會(huì)問,如何判斷dict字典中添加的是方法還是屬性?很簡(jiǎn)單,如果該鍵值對(duì)中,值為普通變量(如"C語(yǔ)言中文網(wǎng)"),則表示為類添加了一個(gè)類屬性;反之,如果值為外部定義的函數(shù)(如say()),則表示為類添加了一個(gè)實(shí)例方法。

    運(yùn)行上面的程序,其輸出結(jié)果為:

我要學(xué) Python!
開課吧廣場(chǎng)12復(fù)制代碼類型:[python]

    可以看到,使用type()函數(shù)創(chuàng)建的類,和直接使用class定義的類并無差別。事實(shí)上,我們?cè)谑褂胏lass定義類時(shí),Python解釋器底層依然是用type()來創(chuàng)建這個(gè)類。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
《源碼探秘 CPython》5. 對(duì)象是如何被調(diào)用的
python中的類對(duì)象,實(shí)例對(duì)象,一切皆是對(duì)象的深入理解
python中isinstance()和type()的區(qū)別!
Stackoverflow上的Python問題精選
Python小知識(shí)-debug用到的5個(gè)內(nèi)建函數(shù)
淺析 Python 的 metaclass
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服