gpt4 book ai didi

python - Python 中的属性桶

转载 作者:太空狗 更新时间:2023-10-30 01:02:42 24 4
gpt4 key购买 nike

好的,这是一个严肃的菜鸟问题,所以我正在寻找一个非常笼统的答案。我是 Python 的新手,这种语言看起来很简单,但是当我处理问题时遇到了问题。来自静态类型语言,我的第一直觉是制作一些对象,这样我就可以传递大量相关数据,同时保持我的逻辑简洁明了。

但这是 Python 中的事情吗?由于该语言是动态类型的,因此让对象传递有什么意义吗?如果我可以即时设置字段,为什么还要提前定义字段?如果我没有字段,我为什么还要为对象烦恼呢?难道我不能用字典,它基本上是一样的吗?

所以我想我是在问,如果我需要将我的数据访问代码与我的逻辑分开,属性桶是个好主意吗?或者人们不使用 Python 来做这件事而只是使用字典?

编辑:

这是我要完成的基本想法:

我有一个返回 json 字符串的 http api。我想用 urllib2 打那个 url,把它作为一个字符串带回来,然后用 json.loads 把它变成一个 dict 对象。然后我想把mysql代码单独放到另一个类中。显然我不想传递 20 个值,并且由于我已经有了包含所有值的字典,那么创建动态对象并从字典中添加每个值有什么好处呢?我仍然需要知道数据访问类中的所有名称,对吧?我并不是在谈论性能,而是在谈论设计。

最佳答案

在不知道您的具体要求的情况下,如果您想传递数据,我会说字典可能更好。它们是内置的,速度快,简单,每个程序员都能理解它们,这与值对象之类的东西形成鲜明对比,开发人员必须在其中查找特定属性。

例子:

在这种情况下也相关:Jack Diederich 的 Stop writing classes (YT):

Classes are great but they are also overused. This talk will describe examples of class overuse taken from real world code and refactor the unnecessary classes, exceptions, and modules out of them.

关于python - Python 中的属性桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14168368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com