Python:可以在类中调用静态方法而无需限定名称

发布于 2021-01-29 16:02:13

这很烦人:

class MyClass:
    @staticmethod
    def foo():
        print "hi"

    @staticmethod
    def bar():
        MyClass.foo()

有没有一种方法可以在不命名MyClass的情况下使此工作正常进行?即所以我只能foo()在最后一行说吗?

关注者
0
被浏览
141
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    无法使用foo并获得您想要的东西。没有隐式类作用域,因此foo也不需要局部或全局。

    您可能会发现类方法更有用:

    class MyClass:
        @classmethod
        def foo(cls):
            print "hi"
    
        @classmethod
        def bar(cls):
            cls.foo()
    

    这样,至少您不必重复该类的名称。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看