我正在寫一個Python腳本來解析一些數據。此刻,我正在嘗試創建一個創建「佔位符」對象的類。我打算反覆傳遞每個「佔位符」變量,最後將它變成一個字典,浮點,列表或字符串。由於需要一段時間才能描述的原因,如果我可以通過調用方法來替換實例,那將會容易得多。用實例方法中的float替換實例?
這裏有一個簡單的例子
class Event(dict):
def __init__(self):
self.sumA = 0.0
self.sumB = 0.0
def augmentA(self, i):
self.sumA += i
def augmentB(self, i):
self.sumB += i
def seal(self):
if self.sumA != 0 and self.sumB != 0:
self = [ sumA, sumB ]
elif self.sumA != 0:
self = float(sumA)
elif self.sumB != 0:
self = float(sumB)
而我想要做的是:
e = Event()
e.augmentA(1)
e.augmentA(2)
e.seal()
...並有 'E' 轉成浮動。
我所希望避免的是:
e = Event()
e.augmentA(1)
e.augmentA(2)
e = e.getSealedValue()
我完全明白「自我」在我的「密封」方法僅僅是一個局部變量,並且不會對實例的任何影響外部範圍。但我不確定如何實現我想要的內容,從實例中,對於我的代碼來說最方便。我也明白我可以覆蓋所有的插件(getItem,toStr),但這使我的代碼變得複雜了很多。
我是一個Python noob,所以我不確定這是否可能。放縱我,請:)
對於無聊的問題,我表示歉意,順便說一句,我完全理解* that *視角的觀點。雖然我不明白投票「關閉」!這是一個通用的問題,但不容易通過閱讀文檔來回答 - 我使用的代碼在這裏,因爲不使用代碼很難解釋。 – username 2012-08-12 04:47:57
我不能說誰投票決定關閉它,但它看起來像是一個寫得很好的建設性問題,所以我只是假設某人心情不好,並且沒有仔細閱讀這個問題或仔細閱讀這個問題幫助改善它。 ;-) – Jordan 2012-08-12 05:04:52
廢話,現在因爲我的抱怨而上升。停下來! Downvotes很好,可能是有保證的,請不要關閉它 – username 2012-08-12 05:07:45