python創(chuàng)建類的方法有哪些

小編給大家分享一下python創(chuàng)建類的方法有哪些,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

10年積累的網(wǎng)站設(shè)計、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有繁昌免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

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)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前名稱:python創(chuàng)建類的方法有哪些
文章位置:http://bm7419.com/article40/geiseo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、營銷型網(wǎng)站建設(shè)、網(wǎng)站制作外貿(mào)建站、網(wǎng)站策劃云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)