【发布时间】:2021-05-08 11:35:15
【问题描述】:
我已经建立了一个类来根据类型向用户提问。
class Question:
def __init__(self, subject):
self.subject = subject
self.question = f"Enter the {subject} to be created. You may end this by typing 'DONE':\n"
self.still_needed = True
def ask_question(self):
ans_list = []
running = True
while running:
var = input(f"Enter {self.subject}?\n")
if var.lower() == 'done':
running = False
else:
ans_list.append(var)
return ans_list
这个想法是有一个问题模型,创建项目列表。
这似乎适用于 main 中的以下代码。
roles = Question(subject="role").ask_question()
这会从 Queue 类创建一个列表,并使用它的方法 ask question 来生成列表。据我所知,该对象随后被销毁,因为它没有保存到变量中。
作为 Python 和 OOP 的新手,我的问题是,这似乎是一种可靠且不混淆的方式,还是我应该折射?如果是这样,社区有什么建议?
【问题讨论】:
-
如果你不保留对象,你需要一个类来做什么?你使用它的目的就是调用这个对象的方法,就好像它是一个函数一样。因此,只需将其定义为一个函数。如果您保留一个或多个对象以供将来参考,那么一个类将是有意义的。
标签: python-3.x function oop while-loop logic