可能重复:
Help with Python UnboundLocalError: local variable referenced before assignment
在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'
可以做我想做的事吗?
答案 0 :(得分:5)
将变量称为RNA
以外的变量,例如rna
:
rna = RNA(RNAseq, self.name + 'RNA')
return rna
否则你会尝试为两个不同的东西使用相同的名称,类和变量,后者会影响前者。