Python:如何在类内部引用类?

Python:如何在类内部引用类?,python,class,self-reference,Python,Class,Self Reference,试图引用自身内部的类。例如 class Test: FOO_DICT = {1 : Test.bar} # NameError: name 'Test' is not defined @staticmethod def bar(): pass 这个用法有意义吗?还有更好的选择吗? 谢谢 您可以像这样将FOO_DICT={1:Test.bar}移动到类外: class Test: @staticmethod def bar():

试图引用自身内部的类。例如

class Test:
    FOO_DICT = {1 : Test.bar}  # NameError: name 'Test' is not defined

    @staticmethod
    def bar():
        pass
这个用法有意义吗?还有更好的选择吗?
谢谢

您可以像这样将
FOO_DICT={1:Test.bar}
移动到类外:

class Test:
    @staticmethod
    def bar():
         pass
Test.FOO_DICT = {1: Test.bar}

如果希望字典位于类中:首先定义函数并删除测试:

class Test:
    @staticmethod
    def bar():
         pass

    FOO_DICT = {1: bar}

只需使用
bar
本身。@DYZ不起作用,因为
bar
还没有定义。正如下面有人建议的,更改定义的顺序。这违反了类封装,应该避免。可能应该避免排序依赖,但似乎没有更好的模式。