创建彼此的类对象的Python类

时间:2012-12-07 06:59:38

标签: python python-3.x

  

可能重复:
  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'

可以做我想做的事吗?

1 个答案:

答案 0 :(得分:5)

将变量称为RNA以外的变量,例如rna

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

否则你会尝试为两个不同的东西使用相同的名称,类和变量,后者会影响前者。