2012-04-22 154 views
0

是否有可能在python中解决同一类中其他类变量的类变量?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) } 

我的上述问题,根据蟒蛇SIGNAL_NAME_1_2不是在创建字典定义。通过MyBaseObject.SIGNAL_NAME_1访问它们也不起作用(未知对象)。

所以问题是 - 是否有可能在python中引用彼此的类变量?

谢谢!

回答

1

不,不应该有任何问题引用其他类变量只是使用名称。但是,您不能参考MyBaseObject,因为直到类定义完成时才定义它。

您发布的代码可以正常工作(如果定义了signaldefinition),那么如果您收到关于未定义名称的投诉,这意味着您没有发布您使用的确切代码。尝试发布确切的代码和确切完整的错误消息。

+0

呃,你是完全正确的!我不断收到错误信息,但显然这些错误与正在解决的类变量无关,而是插入到字典中的doc片段。 Python不断告诉我错误在SIGNAL_NAME_1中,而它实际上是由代码片段造成的。非常感谢 - 我相当确信这是不可能的... – 2012-04-22 12:03:04