首页 > 解决方案 > 是否可以在 Python 3 中从自身内部调用类方法?

问题描述

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

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

标签: python-3.xclassrecursionmethods

解决方案


只需调用类方法 -

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))
#
##
###
####
#####


推荐阅读