溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發(fā)布時間:2020-08-07 14:04:42 來源:億速云 閱讀:166 作者:小新 欄目:編程語言

小編給大家分享一下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è)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI