Possible Duplicate:
Help with Python UnboundLocalError: local variable referenced before assignment
在python3中,我有两类,一类用于DNA,一类用于RNA。我希望DNA类具有一种方法,该方法可以提取DNA序列(DNA的实例变量self.sequence),将其更改为RNA序列(使用for循环轻松完成),然后使用新序列作为实例变量。
同时,我希望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”
我可以做些什么吗?
最佳答案
用RNA
以外的名称来调用变量,例如rna
:
rna = RNA(RNAseq, self.name + 'RNA')
return rna
否则,您将尝试对两个不同的事物(类和变量)使用相同的名称,而后者则覆盖前者。