【发布时间】:2021-02-07 21:02:13
【问题描述】:
您好,我正在创建一个包含购物清单的课程。该代码似乎有效,但我不确定我是否正确执行。我是不是要把 shopping = [] 放在构造函数中,那有什么作用? 非常感谢提前
class Shopping:
def __init__(self, shopping = []):
self.__shopping = []
def set_shopping(self, shopping):
self.__shopping = shopping
def get_shopping(self):
return self.__shopping
shoppinglist = Shopping()
shoppinglist = ['apples', 'pears', 'bread']
【问题讨论】:
-
shopping = [] 在构造函数中创建一个空列表,该列表对实例是唯一的,所以,是的,您的方法似乎是正确的。如果您在构造函数之外声明了 list 属性,那么该类的所有实例都是通用的。
-
哦,非常感谢,我也需要将 shopping [] 放入 setter 中吗?因为我只有购物变量,而 setter 中没有列表
-
shopping 是列表,您不应多次声明它。目前您无法在列表中添加文章,您可以设置整个列表。因此,如果您愿意,可以在另一种方法中添加类似 self.__shopping.append(newArticle) 的内容。
-
知道了!谢谢
标签: python list class constructor getter-setter