乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

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

       碼農(nóng)9527 2021-09-17

         我們知道,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è)類。

        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多