Hinzufügen habe ich eine Klasse namens Frage nach untenPython eine Liste der Klasse in einer anderen Klasse
class Question:
q_count = 0
def __init__(self, s_id, q_id, question):
print("q count is ", Question.q_count)
self._s_id = s_id
self._question_text = question
self._answers = []
self._q_id = Question.q_count
def get_answers(self):
return self._answers
def set_answers(self,answers):
self._answers = answers
def add_answer(self, Answer()):
self._answers.append(Answer())
und ich möchte es, eine Liste haben _answers genannt, die eine Liste der Antwort Objekte ist. wo Antwort ist eine andere Art von Klasse, die ich erstellt habe.
class Answer:
def __init__(self, q_id, a_id):
self._q_id = q_id
self._a_id = a_id
# Subclass for multiple choice
class MC_Answer(Answer):
def __init__(self, q_id, a_id, answer_text):
Answer.__init__(self, q_id, a_id)
self._answer_text = answer_text
def get_answer_text(self):
return self._answer_text
def set_answer_text(self, a_id):
self._a_id = a_id;
In einem anderen Teil meines Codes erstelle ich eine Instanz eines MC_Answer-Objekts. Ich habe auch eine Instanz eines Frageobjekts. Wie füge ich das an seine Antwortenliste an?
answer1 = MC_Answer(idQ, 1, answer_text)
new_q.add_answer(answer1)
write_to_file(alist1, "answers.csv")
dies falsch ist, aber wenn ich als Parameter haben nicht answer1, wie weiß Python, dass bestimmte Instanz einer Antwort hinzufügen?