【发布时间】:2019-08-24 20:07:48
【问题描述】:
-
谁能解释为什么
TypeError是fib() 接受 1 个位置参数,但给出了 2 个`
当我只给它一个参数时 =>
self.fib(self.n - 1)! 另外,在保持类的实例化的同时,您能否提出解决此问题的解决方案?
我觉得“自我”被用得太多了,尤其是我添加的方法越多。可以改进吗?
只是想了解一些基础知识!感谢所有反馈。
class math_func:
def __init__(self, n: "int" = 6, output: "list" = []):
self.n = n
self.output = output
def fib(self):
print("Current output is:", self.output)
if self.n == 0:
return self.output
else:
if len(self.output) < 2:
self.output.append(1)
self.fib(self.n - 1)
else:
last = self.output[-1]
second_last = self.output[-2]
self.output.append(last + second_last)
self.fib(self.n - 1)
return self.output
first_func = math_func(n=9)
print(first_func.fib())
【问题讨论】: