您好,登錄后才能下訂單哦!
小編給大家分享一下python創(chuàng)建類的方法有哪些,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
python里,類是面向?qū)ο蟮幕A(chǔ)。
第一種創(chuàng)建類的方法:class關(guān)鍵字
#第一種方法創(chuàng)建類 class A(object): def __init__(self, name): self.name = name f = A("lkk")
這樣就簡單完成了一個A類的創(chuàng)建,我們嘗試打印一下f的類型:
print(type(f)) #打印f的類型,結(jié)果是A(我們寫的class A)
結(jié)果為:
<class '_main_.A'>
我們不妨在打印一下A的類型:
print(type(A)) #不妨再打印一下A的類型,居然是type
會發(fā)現(xiàn)結(jié)果是:
<class 'type'>
type就是類的類
類的類,也就是元類。元類就是用來創(chuàng)建類的“東西”。你創(chuàng)建類就是為了創(chuàng)建類的實例對象,不是嗎?Python中的類也是對象。元類就是用來創(chuàng)建這些類(對象)的,元類就是類的類。
第二種創(chuàng)建類的方法:type動態(tài)創(chuàng)建類
type有一個方法:type(類名,父類名,方法名(字典形式))用來動態(tài)創(chuàng)建類
三個參數(shù)具體內(nèi)容:
·第一個參數(shù):要創(chuàng)建的class的名稱;
·第二個參數(shù):繼承的父類集合,Python支持多重繼承,如果只有一個父類,寫(obj,);
·第三個參數(shù):class的方法名字典,字典內(nèi)容為‘類里面方法名稱’:‘寫好的函數(shù)名稱’,創(chuàng)建之后使用類方法名稱調(diào)用。
舉個例子:
#第二種方法創(chuàng)建類 def func(self): #第一個方法 print('hello %s'%self.name) def __init__(self,name,age): #初始化方法 self.name = name self.age = age #type('叫什么的類','繼承誰','它里面有哪些方法') Foo = type('Foo', (object,), {'talk':func, '__init__':__init__}) f = Foo('lkh','20') f.talk() print(type(Foo))
等同于:
class Foo(object): def __init__(self, name, age): self.name = name self.age = age def func(self): print('hello %s' % self.name)
看完了這篇文章,相信你對python創(chuàng)建類的方法有哪些有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。