https://www.youtube.com/watch?v=ZDa-Z5JzLYM&list=PL-osiE80TeTsqhIuOqKhwlXsIBIdSeYtc
在这个关于OOP的视频系列中,Python youtuber Corey Schafer使用他的Employee类实例来存储关于员工的数据,比如他们的工资和他们知道的编码语言等。我对“更高级别”编程相当陌生,希望在我的一个项目中实现这一点,我还必须存储并随后更改属性许多相似的物体。然而,很快我就意识到,在实例构建之后处理数据是相当麻烦的。例如,我如何迭代某个类或子类的所有实例,或者找到对某个特定属性具有特定值的实例?我是不是遗漏了一些重要的东西,或者真的没有方便的方法来访问数据?最后,我最终使用了一个额外的字典来存储实例名和标识符号,以便能够以某种方式读取数据,但是首先我可以使用字典。 那么,使用类实例作为数据结构,就像在youtube系列中所展示的那样,只是一个关于如何使用类/实例等的坏例子,还是比视频显示的更多?我已经读了很多关于这个主题的文章,但是仍然不明白为什么你一开始就不使用dict,或者为什么缺少一些基本的内置函数,比如可以轻松获取子类的所有实例。在
也许有人能对这些问题有所了解,解开我的困惑。谢谢。在
在我看来,你要找的是一个完全不同的主题。一般来说,你应该能够用一个恰当的ORM来实现这样的行为。我建议您研究一下Django ORM或SQL炼金术,其中单个数据实体实际上是类实例。实例和类通常是用汽车/雇员、学生等来描述的。这种描述没有什么错,你存储数据的方式由你决定。通常,您应该能够将数据存储在列表中并对其进行筛选:
一般来说,Python类不会跟踪它们的实例,除非so。因此,您能够实现这一点,并且应该能够存储索引的所有值,但是Python不会为您这样做,而且这不是预期的行为。在
谢谢你的回答和评论。在
https://www.youtube.com/watch?v=Opp9AQ90FHw 这段视频解释了如何在Python中用dunder函数将列表操作实现到对象中,我想这对任何有兴趣使用类实例来存储数据的人来说可能会很有用。在
相关问题 更多 >
编程相关推荐