1

可能重复:
Python UnboundLocalError 的帮助:分配前引用的局部变量

在 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: local variable 'RNA' referenced before assignment

我想做的事能做到吗?

4

1 回答 1

5

将您的变量称为除 之外的其他内容RNA,例如rna

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

否则,您会尝试对两个不同的事物(类和变量)使用相同的名称,而后者会影响前者。

于 2012-12-07T07:01:53.730 回答