你能把一个类(不是一个对象)作为参数传递给python中的方法吗?

Jes*_*ieh 6 python parameters static

我想做类似以下的事情

class A:
  def static_method_A():
    print "hello"

def main(param=A):
  param.static_method_A()
Run Code Online (Sandbox Code Playgroud)

我希望这相当于A.static_method().这可能吗?

Chr*_*ung 8

当然.类是Python中的第一类对象.

虽然,在您的示例中,您应该为您的方法使用@classmethod(类对象作为初始参数)或@staticmethod(无初始参数)装饰器.

  • 这就是前几天给我带来同样垃圾的未知......我花时间写出一个深思熟虑的答案,帮助别人,甚至没有注意别人发布的内容.我很遗憾地给了他+1,但现在我后悔了.我认为每个人都需要停止如此渴望声誉,并试图互相帮助. (4认同)

Gre*_*ill 5

您应该能够执行以下操作(请注意@staticmethod装饰器):

class A:
  @staticmethod
  def static_method_A():
    print "hello"
def main(param=A):
  param.static_method_A()
Run Code Online (Sandbox Code Playgroud)