2012-04-22 194 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