欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

call方法

程序员文章站 2022-06-03 22:53:46
...

call方法 调用类对象时输出,

任务
改进一下前面定义的斐波那契数列:
class Fib(object):
???
请加一个__call__方法,让调用更简单:

f = Fib()
print f(10)
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
复制代码
可以把实例对象用类似函数的形式表示,进一步模糊了函数和对象之间的概念
复制代码
class Fib(object):
def init(self):
pass
def call(self,num):
a,b = 0,1;
self.l=[]

    for i in range (num):
        self.l.append(a)
        a,b= b,a+b
    return self.l
def __str__(self):
    return str(self.l)
__rept__=__str__

f = Fib()
print f(10)

相关标签: 2