是否可以通过在Python中使用对象来调用静态方法?

时间:2018-04-21 13:30:50

标签: python object static-methods

我是Python新手。我对Python中的静态方法有一个疑问。我知道我们可以通过使用类名(ClassName.StaticMethodName)来调用静态方法,并且使用对象(例如objName.StaticMethodName)是不可能的。

但是我可以通过使用对象来调用静态方法 这是我的代码。我可以通过使用对象来调用方法ParentStaticMethod() 这怎么可能?

class Parent:

    def __init__(self):
        print 'Parent Class Constructor'

    def ParentMethod(self):
        print 'Parent Method'

    @staticmethod
    def ParentStaticMethod():
        print 'Parent Static Method'

pObj=Parent()
pObj.ParentMethod()
pObj.ParentStaticMethod()

1 个答案:

答案 0 :(得分:1)

没有什么可以阻止您使用对象实例来调用静态方法。请参阅documentation for the staticmethod decorator

  

可以在类(例如TemplCls<TArg>)或实例(例如C.f())上调用它。除了类之外,该实例将被忽略。