python新式類是什么
1、說明
python3.x的所有類都會自動轉換為一個新式類,不論是否有繼承object對象。
python2.x必須顯式地指定類繼承object父類才表示新式類。
2、實例
#newstyle.py,python環境為2.xclassClassic:
"""
python2.x默認類為經典類
由于__getatt__與__getattribute__功能效果一樣,這里只用__getattr__演示
"""
def__getattr__(self,method_name):
print("callClassic__getattr__,itwouldcallbuilt-in[%s]method"%method_name)returngetattr(self.__name,method_name)classNewStyleClass(object):def__init__(self):
self.__name="newstylename"
"""
python2.x需要指明為新式類,python3.x默認為新式類
"""
def__getattr__(self,item):
print("callNewStyle__getattr__,itwouldcallbuilt-in[%s]method"%item)returngetattr(self.__name,item)deftest_dir():
C=Classic()
N=NewStyleClass()
print(dir(C)#經典類內置有__getattr__方法
print(dir(N)#新式類的內置方法繼承object對象>>>pythonnewstyle.py
以上就是python新式類的介紹,希望對大家有所幫助。更多Python學習教程請關注IT培訓機構:千鋒教育。