魔法函数¶
魔法函数(Magic Methods)是 Python 内置 的 以双下划线开头结尾的 ,用来 增强自己写的类,使其具有新的特性 的一类特殊函数
迭代¶
函数 | 说明 |
---|---|
__iter__ |
可迭代(Iterable)声明 |
__next__ |
返回 下一个值,直到抛出 StopIteration 异常 |
class Fib(object):
def __init__(self,num):
# 迭代初值
self.prev=0
self.curr=1
# 计数器
self.num=num
# 声明 Fib 为可迭代对象
def __iter__(self):
return self
# 实现迭代
def __next__(self):
if self.num>0:
# 暂存 self.curr 以返回当前值而非下一个值
ans=self.curr
self.prev, self.curr=self.curr, self.prev+self.curr
self.num-=1
return ans
else:
raise StopIteration
for x in Fib(5):
print(x)
1
1
2
3
5
可调用¶
class call(object):
def __init__(self):
pass
def __call__(self,x,y):
if x>y:
return x
else:
return y
a=call()
print(a(3,4))
4