2012-12-07 55 views
1

Possible Duplicate:
Help with Python UnboundLocalError: local variable referenced before assignmentPython類對象

在python3,我有兩個類,一個用於DNA和一個用於RNA。我希望DNA類具有一種方法,將DNA序列(DNA的一個實例變量,self.sequence)轉換爲RNA序列(用for循環輕鬆完成),然後創建一個RNA對象新序列作爲實例變量。同時,我希望RNA類具有相反的方法(也就是說,它需要RNA序列,產生相應的DNA序列,然後創建一個使用該序列的DNA對象作爲一個實例變量)

我的用於從DNA製備RNA的方法如下:

def transcribe(self): 
    RNAseq='' 
    for base in self.sequence: 
     if base=='A' or base=='C' or base=='G': 
      RNAseq=RNAseq+base 
     if base=='T': 
      RNAseq=RNAseq+'U' 
    RNA=RNA(RNAseq,self.name+'RNA') 
    return RNA 

此代碼給我的錯誤: UnboundLocalError:局部變量 'RNA' 分配之前引用

我想做什麼?

+1

「RNA」是你的RNA類的名字嗎? – BrenBarn

回答

5

打電話給您的變量,而不是RNA,例如, rna

rna = RNA(RNAseq, self.name + 'RNA') 
return rna 

否則你試圖使用相同的名稱爲兩個不同的東西,類和變量,而後者的陰影前者。

+0

這很好,謝謝!我現在感覺有點傻,但是經驗教訓! – user1884604

+1

@ user1884604:無需感到無聊。這個錯誤信息並不十分清楚。 – NPE