Python的一些魔法方法(內建函式)

2021-08-02 04:36:40 字數 1641 閱讀 6815

class

rectangle:

def__init__

(self, x, y):

self.x = x

#self.x是類例項化之後的例項物件的區域性變數 x是引數

self.y = y

defgetperi

(self):

#周長return (self.x + self.y) * 2

defgetarea

(self):

#面積return self.x * self.y

rect = rectangle(3, 4)

print("rect的面積是", rect.getarea())

print("rect的面積是", rect.getperi())

效果如下

rect = rectangle(3, 4)

print

("rect的面積是", rect.getarea())

12print

("rect的周長是", rect.getperi())

14

定製序列

容器型別的協議

不可變的容器len(self) 和getitem(self, key)

可變的容器 除了len() 和getitem() 還需要定製setitem(self, key, value) 和delitem(self, key)

簡介:簡單來說就是迴圈。

先來用for 目標 in 表示式:來看看迴圈的效果

for i in "aj":

print(i)

links =

foreach in links:

print("%s → %s" % (each, links[each]))

效果如下

a

jaj很帥 → 帥帥帥!

aj很酷 → 酷酷酷!

如果用內建迭代函式iter和next

class

fibs:

def__init__

(self, n = 10):

self.a = 0

self.b = 1

self.n = n

def__iter__

(self):

return self

def__next__

(self):

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

if self.a > self.n:

raise stopiteration

return self.a

fibs = fibs(100)

for each in fibs:

print(each)

效果如下

112

35813

2134

5589

Python的一些魔法方法

init 魔法方法是指 xx 的方法 具有特殊功能 init 魔法方法初始化。會自動呼叫 class washer def init self self.width 400 self.height 500 def print info self print f 洗衣機寬,高為 haier washe...

Python 類內建魔法方法

一 str 方法 python class 內建函式有很多,想到了先記下來.str str 方法和 init 方法類似,都是一些特殊方法,都會自動執行的,init 是初始化的作用,str 則是用來返回物件的字串表示式。在我們編寫乙個新的python類的時候,總是在最開始位置寫乙個初始化方法 init...

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

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