我尝试创建一个用户类,用于存储有关用户的某些属性,另一个类User_Review,其中包含由用户类创建的对象/实例的列表。
numpy
要回答zondo和juanpa.arrivillaga,User的目的是创建具有基本信息的对象,而User_Review是一种方法,我希望能够通过其他方法对用户列表进行操作。 User_Review类,例如具有将用户添加/删除到用户列表末尾的方法,或显示某些信息(例如,仅限名称)。
答案 0 :(得分:0)
出于您的目的,我认为您可以而不是在类中创建user_objects
和user_list
列表,只需将其保留在User_Review
内(因为您希望它们的引用是存储在另一个类中),并删除User
内的一个,同时将创建的User
对象从user_list
方法内部追加到__init__
而不是{{ 1}}。
在实践中,这看起来类似于以下内容。
user_objects
使用class User(object):
def __init__(self, name, age):
self.name = name
self.age = age
User_Review.user_list.append(self)
class User_Review(object):
user_list = []
user1 = User('leila', 23)
user2 = User('carter', 43)
正确输出print(User_Review.user_list[0].name)
打印出第一位用户的姓名。
然而,这种方法似乎非常直观:
carter
类继承User_Review
对我来说没有任何逻辑意义,因为您不希望在User
中使用change_age
这样的方法如果碰巧在User_Review
中实现的话。但是,您希望能够访问每个User
对象中的数据,这可以通过访问列表中所需的User
来完成。
按照目前的情况,User
没有任何实际意义,只需一个常规清单即可实现同样的目的;但是,如果有计划实施依赖于创建的多个或所有User_Review
个对象的数据的方法,那么这可能是一个可行的解决方案。
此问题的其他解决方案可能是仅在User
类中创建列表,只使用User
访问该列表并执行所需的操作。或者更复杂地从这两个类创建一个单独的类,专门用于存储,组织和从数据库中检索用户。