returnステートメントで定義されたクラスの新しいオブジェクトを取得しようとしていますが、returnステートメントの使用中に問題があります。私が得なければならないのは、同じ戻りステートメントでコンストラクターを呼び出すことによる新しいオブジェクトです。 は、コンストラクターを必要とするものを引数として渡します。各クラスのコンストラクタがクラスの名前であることを考慮してください。returnステートメントで定義されたサブクラスの新しいオブジェクトを返す方法
これは私がこれまで持っているものです。
def complementary(self):
complementary = ''.join([DNA.bases_complementary[base] for base in self.get_sequence()])
return complementary
しかし、それはちょうど明白なものである文字列を返しますが、サブクラスのDNA(スーパークラスでの新しいオブジェクトとしてこの文字列を返すことが可能ですSEQUENCE)。 私のスーパークラスがこれです:
class SEQUENCE:
def __init__(self, sequence):
self.__sequence = sequence
length = len(sequence)
def __str__(self):
st = 'The introduced sequence is: {0}\n'.format(self.__sequence)
st = st + 'The length of the sequence is: {0}\n'.format(len(self.__sequence))
return st
def get_sequence(self):
return self.__sequence
マイDNAサブクラスはこれです:
class DNA(SEQUENCE):
bases = {'A','T', 'C','G'}
complementary_bases = {'A':'T', 'T':'A', 'C':'G','G':'C'}
transcription = {'A':'U', 'T':'A', 'C':'G','G':'C'}
def __init__(self, sequence):
super().__init__(sequence)
self.__length = len(sequence)
bases = {'A','T','C','G'}
sequence_set = set(sequence)
if sequence_set <= bases:
print('The introduced sequence is', sequence, 'with the following length',len(sequence))
else:
print('INCORRECT DNA SEQUENCE')
raise NameError('SequenceError')
complimentaria' 'から返される文字列の例は何ですか? – cosinepenguin