是否可以在Python 3中从自身内部调用类方法?

时间:2020-07-14 19:52:30

标签: python-3.x class recursion methods

我想知道是否有一种从自身内部调用类方法的方法,在定义它时,就像函数可以从自身内部调用自身以实现递归的方法一样。不幸的是,我在任何地方都找不到答案。

提前感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:1)

只需调用类方法-

class Foo:
  def stairs (n = 0):
    if n <= 0:
      return ""
    else:
      return Foo.stairs(n - 1) + ("#" * n) + "\n"

print(Foo.stairs(3))
#
##
###

print(Foo.stairs(5))
#
##
###
####
#####

或调用实例方法-

class Foo:
  def stairs (self, n = 0):
    if n <= 0:
      return ""
    else:
      return self.stairs(n - 1) + ("#" * n) + "\n"

f = Foo()

print(f.stairs(3))
#
##
###

print(f.stairs(5))
#
##
###
####
#####