10 02新式類與經典類的區別

2022-08-11 15:57:11 字數 727 閱讀 9327

class father(object): #有object就是新式類,沒有object就是經典類,新式類修正了一 些bug。

def __int__(self):

self.fname = "ffff"

print ("father.__init__")

def func(self):

print ("father.func")

def bad(self):

print ("father.抽菸喝酒玩")

class son(father): ##可以繼承多個類,用逗號隔開

def __init__(self):

self.sname = "ssss"

print ("son.__init__")

super(son,self).__init__() #father加了object後,要用super才能繼承,這樣就是新式類了

def bar(self):

print ("son.bar")

def bad(self):

father.bad(self)

print ("son.賭博") #無論是經典還是新式類,繼承後可以改變原father的值或修改函式

s1 = son()

print (s1.bar())

print (s1.func())

print (s1.bad())

經典類與新式類的區別

經典類 class foo 新式類 class foo object 建立類的時候,繼承object類,該類就是新式類!這一切在python3之後發生了變化,python3裡面建立的都是新式類 這兩種類的區別 新式類重定義的方法更多,當然這不是重點,重點是兩種類在多繼承狀態下查詢 方法 的規則不同。...

Python新式類與經典類的區別

經典類和新式類的繼承順序 class a def init self print a class b a def init self print b pass class c a def init self print c pass class d b,c 這種情況,是先走本身的建構函式,然後根據順...

python 新式類與經典類的區別

在python 2及以前的版本中,由任意內建型別派生出的類 只要乙個內建型別位於類樹的某個位置 都屬於 新式類 都會獲得所有 新式類 的特性 反之,即不由任意內建型別派生出的類,則稱之為 經典類 python2.x中,預設都是經典類,只有顯式繼承了object才是新式類,即 class person...