请问python中类里面的方法可以递归吗?如果可以递归的话怎么用?

2025-05-10 18:44:33
推荐回答(3个)
回答1:

递归求1-i的平方和

Python 3.6.1 (default, Mar 22 2017, 06:17:05) 
[GCC 6.3.0 20170321] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> class A:
...     def func(self, i):
...             return i * i
...     def digui(self, i):
...             if i == 1:
...                     return 1
...             return self.func(i) + self.digui(i-1)
... 
>>> A().digui(3)
14
>>> A().digui(2)
5
>>> A().digui(1)
1

回答2:

完全可以啊,和函数一样的写法。只是多一个参数self

回答3:

>>> class recursion:
... def method(self,n):
... if n==1:return 1
... return n*self.method(n-1)
...
>>> a=recursion()
>>> a.method(5)
120
就像普通递归一样调用