我有一个只包含字段而没有方法的类,如下所示:
class Request(object):
def __init__(self, environ):
self.environ = environ
self.request_method = environ.get('REQUEST_METHOD', None)
self.url_scheme = environ.get('wsgi.url_scheme', None)
self.request_uri = wsgiref.util.request_uri(environ)
self.path = environ.get('PATH_INFO', None)
# ...
这可以很容易地翻译成字典。该类对于将来的添加更加灵活,并且可以使用
__slots__
快速进行。那么使用dict会有好处吗?字典会比全类更快吗?并且比具有插槽的类(class)快吗? 最佳答案
你为什么要把它当作字典?有什么好处?如果您以后要添加一些代码,会发生什么?您的__init__
代码会去哪里?
类用于 bundle 相关数据(通常是代码)。
字典用于存储键-值关系,其中通常键都是同一类型,并且所有值也都是一种类型。有时,当键/属性名称并非一开始就为人所知时,它们对于 bundle 数据很有用,但这通常表明您的设计有问题。
保持这个类。
关于python - 我应该使用类(class)还是字典?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4045161/