Python:如何引用一个类本身?

时间:2016-12-02 05:36:35

标签: python class self-reference

尝试在自己内部引用一个类。例如,

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

    @staticmethod
    def bar():
        pass

这种用法有意义吗?有更好的选择吗? 谢谢!

2 个答案:

答案 0 :(得分:3)

如果您希望字典在类中:首先定义函数并删除Test:

class Test:
    @staticmethod
    def bar():
         pass

    FOO_DICT = {1: bar}

答案 1 :(得分:0)

您可以将FOO_DICT = {1 : Test.bar}移到课堂之外,如下所示:

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