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

2024-06-02 04:37:23 发布

您现在位置:Python中文网/ 问答频道 /正文

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

但我可以通过使用对象调用静态方法。
这是我的密码。我可以使用object调用方法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()

Tags: 对象self密码defmethodparentprint新手
1条回答
网友
1楼 · 发布于 2024-06-02 04:37:23

没有什么能阻止您使用对象实例来调用静态方法。参见documentation for the ^{} decorator

It can be called either on the class (such as C.f()) or on an instance (such as C().f()). The instance is ignored except for its class.

相关问题 更多 >