python新式類是什麼

nt1979發表於2021-09-11

python新式類是什麼

1、說明

python3.x的所有類都會自動轉換為一個新式類,不論是否有繼承object物件。

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

2、例項

# newstyle.py,python環境為2.xclass Classic:
    """
    python2.x預設類為經典類
    由於__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需要指明為新式類,python3.x預設為新式類
    """
    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)        # 經典類內建有__getattr__方法
    print(dir(N)        # 新式類的內建方法繼承object物件>>> python newstyle.py

以上就是python新式類的介紹,希望對大家有所幫助。更多Python學習指路:

本文教程操作環境:windows7系統、Python 3.9.1,DELL G3電腦。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4822/viewspace-2830366/,如需轉載,請註明出處,否則將追究法律責任。

相關文章