python 类设计的疑惑
本人初学python
, 在练习代码的时候想到一些问题, 如下:
现在有一个User
类, 抽象表示每一个user
, 可以有一些属性, 比如这样:
class User:
def __init__(self, form):
self.name = form.get('name', '')
self.password = form.get('password', '')
现在有需求要得到所有的user
实例, 目前有两种方法, 如下:
法一:
再创建一个UserModel
类, 保存了所以的user
, 并且可以进行增删改查, 比如这样:
class UserModel:
def __init__(self)
self.users = []
def all(self):
return self.users
法二: 直接在User
类上面进行, 具体表现为使用classmethod
, 比如这样:
class User:
def __init__(self, form):
self.name = form.get('name', '')
self.password = form.get('password', '')
@classmethod
def all(cls):
users = [cls(form) for form in forms]
return users
两种方法都可以实现相同的功能, 请问各位前辈哪种方法更好一点, 或者有没有更好的实现方法? 若能解答, 不胜感激!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我觉得可以在
__new__
中对实例进行注册到一个类变量中