是否可以在python中处理同一类中其他类变量的类变量?
我的问题是:我正在尝试准备一些静态代码,如下所示:
class MyBaseObject:
SIGNAL_NAME_1 = "signal-name-1"
SIGNAL_NAME_2 = "signal-name-2"
ALL_SIGNALS = {
SIGNAL_NAME_1: ( signal-definition ),
SIGNAL_NAME_2: ( signal-definition ) }
我的问题是,根据python SIGNAL_NAME_1
和_2
在创建dict时没有定义。通过MyBaseObject.SIGNAL_NAME_1
访问它们也不起作用(未知对象)。
所以问题是 - 在python中是否可以让类变量相互引用?
谢谢!
答案 0 :(得分:1)
不,仅使用名称引用其他类变量应该没有任何问题。但是,您不能引用MyBaseObject
,因为在类定义完成之前没有定义它。
您发布的代码可以正常工作(如果定义了signal
和definition
),那么如果您收到有关未定义名称的投诉,则意味着您没有发布确切代码用过的。尝试发布确切的代码以及完整和完整的错误消息。