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...