溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python中什么是新式類(lèi)

發(fā)布時(shí)間:2021-04-29 16:25:09 來(lái)源:億速云 閱讀:310 作者:Leah 欄目:編程語(yǔ)言

這篇文章給大家介紹python中什么是新式類(lèi),內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

Python主要用來(lái)做什么

Python主要應(yīng)用于:1、Web開(kāi)發(fā);2、數(shù)據(jù)科學(xué)研究;3、網(wǎng)絡(luò)爬蟲(chóng);4、嵌入式應(yīng)用開(kāi)發(fā);5、游戲開(kāi)發(fā);6、桌面應(yīng)用開(kāi)發(fā)。

1、說(shuō)明

python3.x的所有類(lèi)都會(huì)自動(dòng)轉(zhuǎn)換為一個(gè)新式類(lèi),不論是否有繼承object對(duì)象。

python2.x必須顯式地指定類(lèi)繼承object父類(lèi)才表示新式類(lèi)。

2、實(shí)例

# newstyle.py,python環(huán)境為2.xclass Classic:
    """
    python2.x默認(rèn)類(lèi)為經(jīng)典類(lèi)
    由于__getatt__ 與 __getattribute__功能效果一樣,這里只用__getattr__演示
    """
    def __getattr__(self, method_name):
        print("call Classic __getattr__,it would call built-in[%s] method " % method_name)                return getattr(self.__name,method_name)class NewStyleClass(object):    def __init__(self):
        self.__name = "newstyle name"
    """
    python2.x需要指明為新式類(lèi),python3.x默認(rèn)為新式類(lèi)
    """
    def __getattr__(self, item):
        print("call NewStyle __getattr__,it would call built-in[%s] method " %item)                return getattr(self.__name,item)def test_dir():
    C = Classic()
    N = NewStyleClass()
    print(dir(C)        # 經(jīng)典類(lèi)內(nèi)置有__getattr__方法
    print(dir(N)        # 新式類(lèi)的內(nèi)置方法繼承object對(duì)象>>> python newstyle.py

關(guān)于python中什么是新式類(lèi)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI