Python 類的內建方法

2022-06-23 18:39:11 字數 1539 閱讀 8565

#

!/usr/bin/env python

#-*- coding:utf-8 -*-##

##python內建方法

class

a: n = "a"

deff2(self):

print("

from a")

class

b(a):

n = "b"

deff1(self):

print("

from b")

#def f2(self):

#print("f2 from b")

class

c(a):

n = "c"

deff2(self):

print("

from c")

class

d(b,c):

#def __new__(cls, *args, **kwargs):#初始化類中所有構造方法,如果這樣重寫了那麼就只會執行重寫的這個方法,需要再呼叫類中的其它方法就會報錯

#print("--new--")

def__init__

(self):

print("

__init__")

self.n = 4

def__call__(self, *args, **kwargs):

print("

__call__")

'''test doc

'''#

def __del__(self):#在程式執行完後會在記憶體中自動銷毀

#print("deleteing the ....")

pass

#1、繼承類的優先順序

#d = d()

#d.f1()

#d.f2()#按照先去找b,沒有的話再去找c,c沒有的話再去找a。按照廣度優先的原則

#在老版本中經典類按照深度優先,新式類按照廣度優先,但是在3.0後無論經典類還是新式類全都按照廣度優先,因此上圖雖然是經典類但是還是廣度優先

#2、類中的內建方法

#d = d()

#print(d.__doc__) #列印出類中的字串,可以用來注釋

#print(d.__module__)#列印模組所在的檔案的名字

#obj = d() #執行__init__

#obj() #執行__call__

#print(obj.__new__):#初始化類中所有構造方法,如果這樣重寫了那麼就只會執行重寫的這個方法,需要再呼叫類中的其它方法就會報錯

#print(obj.__dict__)#將類的成員變數以字典的形式列印出來,不會列印例項變數

#metaclasses 比new都還要底層的類,如果重寫類就用到,基本不會用到

#3、類的構造 類是由type構造的

#wohaoshuai = type("wohaoshuai",(),)

#print(type(wohaoshuai)) #

#a = wohaoshuai()

#print(a.test) #123

python 類的內建方法

1.doc 列印類的備註 class animal object 建立動物類 def run self 動物都會跑 pass a animal 列印animal類的備註 print a.doc 2.call 將類進行例項化後,呼叫該例項時,會執行 call 方法。注意 類中無 call 方法時,例項...

Python 類的常用內建方法

凡是在類內部定義,以 開頭 結尾的方法,都是類的內建方法,類的內建方法,會在滿足某種條件下自動觸發。new 在 init 觸發前,自動觸發。呼叫該類時,內部會通過 new 產生乙個新物件 init 在呼叫類時自動觸發。通過產生的物件自動呼叫 init class demo object 條件 new...

python內建類 Python 類的內建方法

usr bin env python coding utf 8 python內建方法 class a n a def f2 self print from a class b a n b def f1 self print from b def f2 self print f2 from b cla...