成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術文章
文章詳情頁

Python使用type動態創建類操作示例

瀏覽:2日期:2022-08-05 08:23:09

本文實例講述了Python使用type動態創建類操作。分享給大家供大家參考,具體如下:

使用type動態創建類動態語言和靜態語言最大的不同,就是函數和類的定義,不是編譯時定義的,而是運行時動態創建的。

下面看一個例子:

# 定義一個Person類class Person(object): def __init__(self): pass def say(self): print(’say hello’)p = Person()p.say()# 輸出 say helloprint(type(p)) # 輸出 <class ’__main__.Person’>print(type(Person)) # 輸出 <class ’type’>

運行結果:

say hello<class ’__main__.Person’><class ’type’>

我們發現,type(Person)輸出的是<class ’type’>是type類型。

type()函數可以查看一個類型或變量的類型,Person是一個class(類),它的類型是type,而p是一個 Person的實例,它的類型是Person類。

我們說class(類)的定義是運行時動態創建的,而創建class(類)的方法就是使用type()函數。

eg:

# 定義一個方法def func(self, word=’hello’): print(’say %s’ % word)Person = type(’Person’, (object,), dict(say=func)) # 通過type創建Person類p = Person()p.say() # 輸出 say helloprint(type(p)) # 輸出 <class ’__main__.Person’>print(type(Person)) # 輸出 <class ’type’>

運行結果:

say hello<class ’__main__.Person’><class ’type’>

type函數動態創建類,需要傳入3個參數,分別是:

第一個參數:class的名稱 第二個參數:繼承的父類集合,注意Python支持多重繼承,如果只有一個父類,別忘了tuple的單元素寫法(tuple單元素寫法(obj,)); 第三個參數:class的方法名稱與函數綁定,這里我們把函數func綁定到方法名say上。

通過type()函數創建的類和直接寫class是完全一樣的,因為Python解釋器遇到class定義時,僅僅是掃描一下class定義的語法,然后調用type()函數創建出class。

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python面向對象程序設計入門與進階教程》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲视频在线播放 | 67id人成国产在线 | 日本理论在线播放 | 成年人精品视频 | 国产永久在线视频 | 亚洲小视频 | 国产精品一区二区在线观看 | 久久视频6免费观看视频精品 | 美女又爽又黄视频 | f性欧美| 欧美一级毛片免费看视频 | 久久综久久美利坚合众国 | 成人午夜私人影院入口 | 国产日韩亚洲不卡高清在线观看 | 亚洲欧美日产综合在线看 | 欧美上床视频 | 日韩一区二区三区在线播放 | 美女国产福利视频 | 91pao强力打造免费高清 | 波多野结衣视频免费在线观看 | 国产精品美女久久福利网站 | 久久久久无码国产精品一区 | 国产三区视频在线观看 | ppypp日本欧美一区二区 | 欧美变态一级毛片 | 欧美一级毛片在线 | 精品在线99 | 91专区在线| 免费毛片a线观看 | 亚洲视频中文 | 成人免费观看网欧美片 | 成人午夜视频在线观 | 久久看精品 | 欧美日韩高清在线观看一区二区 | 亚洲免费影院 | 成人爱做日本视频免费 | 欧美中文在线 | 久久久99视频 | 亚洲精品第一第二区 | 久久aaa| 在线观看一级毛片免费 |