Jte*_*llo 5 python dictionary class
在我看来,字典被鼓励定义类和使用类.什么时候应该在课堂上使用字典而另一种方式呢?
例如,如果我想要一个人的字典,每个人都有一个名字和其他属性,有两种简单的方法:
创建一个人的字典.每个键都是人名,值将是人员拥有的所有属性的字典.
创建一个Person包含这些属性的类,然后使用Persons 的字典,将名称作为键,将Person对象作为值.
这两个解决方案似乎都是有效的并且完成了目标,但似乎仍然可以使用python中的字典.实现是不同的,如果我想来回切换,我可能会遇到很多变化,从基于类的实现转到基于字典的实现,反之亦然.
那我该怎么换?
字典是开始或尝试解决问题的方法的好方法。它们不能替代精心设计的课程。有时,这是正确的“最终解决方案”,也是处理“我只需要携带一些数据”需求的最有效方法。我发现有时从字典开始很有用,通常最终会编写一些函数来提供我正在处理的特定案例所需的附加行为。在某些时候,我通常会发现改用类而不是字典会更整洁、更干净。这通常由满足情况需要所需的行为的数量和复杂性决定。因为在 Python 中定义和使用类非常容易,所以我发现我很早就从“字典加函数”切换到了类。我发现的一件事是,“快速组合解决方案”程序在很多情况下都有自己的生命——并且拥有可以扩展和重构的真实类比拥有大量代码更有效率(ab) 使用字典。