试图在自己内部引用一个类。对于例如Python:如何在自己内部引用一个类?
class Test:
FOO_DICT = {1 : Test.bar} # NameError: name 'Test' is not defined
@staticmethod
def bar():
pass
这种用法是否有意义?任何更好的选择? 谢谢!
试图在自己内部引用一个类。对于例如Python:如何在自己内部引用一个类?
class Test:
FOO_DICT = {1 : Test.bar} # NameError: name 'Test' is not defined
@staticmethod
def bar():
pass
这种用法是否有意义?任何更好的选择? 谢谢!
如果你想在字典中的类:首先定义功能,并删除测试:
class Test:
@staticmethod
def bar():
pass
FOO_DICT = {1: bar}
可能应该避免顺序依赖,但似乎没有更好的模式。 – cheng
您可以移动FOO_DICT = {1 : Test.bar}
课外的是这样的:
class Test:
@staticmethod
def bar():
pass
Test.FOO_DICT = {1: Test.bar}
这违反了类封装,应该避免。 – DyZ
只要使用'栏'本身。 – DyZ
@DYZ那不行,因为'bar'还没有被定义。 –
正如有人在下面建议的那样,改变定义的顺序。 – DyZ