Евгений Asked:2024-10-04 06:05:38 +0000 UTC2024-10-04 06:05:38 +0000 UTC 2024-10-04 06:05:38 +0000 UTC 在方法中何处使用输入 772 我有一个类,在构造函数中有一个空列表。我需要通过类方法添加一个空字符串,然后使用input. class Table: def __init__(self, table): self.table = [] def add_row(self, str_new): self.table.append(str_new) 在哪里插入input? python 2 个回答 Voted Amgarak 2024-10-04T08:05:19Z2024-10-04T08:05:19Z 为什么将参数传递给__init__,但不以任何方式使用它?让我们删除... 如果我们希望在方法中进行调用,为什么要向 add_row传递一些内容呢?input让我们删除... 我们得到这样的东西: class Table: def __init__(self): self.table = [] def add_row(self): str_new = input() self.table.append(str_new) tb = Table() tb.add_row() print(tb.table) 结论: Привет ['Привет'] [Program finished] Best Answer insolor 2024-10-04T13:53:14Z2024-10-04T13:53:14Z 最好不要在方法中使用任何东西。从外部输入它并通过参数将其传递给方法。如果您直接缝入 method input,那么您就将您的类固定到特定的控制台输入方法。如果突然需要将控制台程序转换为 GUI 该怎么办?或者只是从文件中添加元素 - 您会为每种添加元素的方法创建一个单独的方法吗? 您有一种添加元素的通用方法,可以与任何数据输入方法一起使用。无需将一种特定的输入法嵌入到该方法本身中 - 这样,就失去了通用性。添加单独的方法只是为了输入一行(例如,通过input)也没有必要,根本没有必要。 一般来说,一个好主意是不要将 I/O 隐藏在类或函数内部,而是将其留在外部,尽可能可见。 一般来说,只需input从外部调用它,将其结果传递给方法: class Table: def __init__(self): self.table = [] def add_row(self,str_new): self.table.append(str_new) table = Table() table.add_row(input())
为什么将参数传递给
__init__,但不以任何方式使用它?让我们删除...如果我们希望在方法中进行调用,为什么要向 add_row传递一些内容呢?
input让我们删除...我们得到这样的东西:
结论:
最好不要在方法中使用任何东西。从外部输入它并通过参数将其传递给方法。如果您直接缝入 method
input,那么您就将您的类固定到特定的控制台输入方法。如果突然需要将控制台程序转换为 GUI 该怎么办?或者只是从文件中添加元素 - 您会为每种添加元素的方法创建一个单独的方法吗?您有一种添加元素的通用方法,可以与任何数据输入方法一起使用。无需将一种特定的输入法嵌入到该方法本身中 - 这样,就失去了通用性。添加单独的方法只是为了输入一行(例如,通过
input)也没有必要,根本没有必要。一般来说,一个好主意是不要将 I/O 隐藏在类或函数内部,而是将其留在外部,尽可能可见。
一般来说,只需
input从外部调用它,将其结果传递给方法: