Python中的魔法方法 技能突破

2021-10-14 15:21:11 字數 1387 閱讀 9666

python想多麼簡單就多麼簡單

ps注意:很多人學python過程中會遇到各種煩惱問題,沒有人幫答疑容易放棄。python基礎教程機解決裡面還有最新

__ getattribute __(self,name):當特性name被訪問時自動被呼叫

__ getattr __(self,name):當特性name被訪問且物件沒有相應的特性時被自動呼叫

__ setattr __(self,name,value):當試圖給特性name賦值時會被自動呼叫

__ delattr __(self,name):當試圖刪除特性name時被自動呼叫

class

rectangle

: def __init__

(self)

: self.width=0;

self.height=0;

def __setattr__

(self,name,

value):

if name ==

'size'

: self.width,self.height =

value

else

: self.__dict__[name]

=value

def __getattr__

(self,name)

:if name ==

'size'

:return self.width,self.height

else

: raise attributeerror

__ init__

()方法:初始化方法,物件被建立時呼叫

__ iter __

()方法:當被用作迭代器使用時,必須包含此方法

next

()方法:每次被訪問時都會呼叫這個方法一次

查詢斐波那契數列中比1000大的數中的最小的數

class

fibs

: def __init__

(self)

: self.a =0;

self.b =1;

def __next__

(self)

: self.a,self.b = self.b,self.a+self.b

return self.a

def __iter__

(self)

:return self

fibs =

fibs()

for f in fibs:

if f >

999:

print

(f)break

Python魔法方法 基本的魔法方法

new cls 1.new 是在乙個物件例項化時候所呼叫的第乙個方法 2.他的第乙個引數是這個類,其他的引數是用來直接傳遞給 init 方法 3.new 決定是否使用該 init 方法,因為.new 可以直接呼叫其他類的構造方法,或者返回別的例項物件來作為本類的例項,如果 new 沒有返回例項物件,...

python中的魔法方法

python中以 包圍的都有特殊的意思,其中是方法的都是魔法方法。python中的魔法方法魔法的地方就是你不需要顯示的呼叫,就可以實現自動呼叫。比如,init 方法,你建立乙個物件的時候,你不需要呼叫這個方法,它就會自動呼叫這個方法了。豈不是很魔法 另外,python中還有其他的魔法方法。比如講,關...

Python中的魔法方法

當使用print輸出物件的時候,只要自己定義了 str self 方法,那麼就會列印從這個方法中return的資料。舉個例子 class cat 定義了乙個cat類 初始化物件 def init self,new name,new age self.name new name self.age ne...