当前位置: 首页 > 面试题库 >

使用`__dict__`还是`vars()`?

周承天
2023-03-14
问题内容

内置函数vars()在我看来更像Pythonic,但我发现__dict__使用起来更频繁。

Python文档指出它们是等效的。

一位博客作者声称这__dict__vars()

我应该使用哪个?


问题答案:

我会用vars()

来自:https
:
//wiki.python.org/moin/DubiousPython#Premature_Optimization

尽管正确应用优化确实可以加快代码的速度,但很少使用[..]的优化代码会使代码更难阅读。[..]首先编写正确的代码,然后快速编写(如有必要)。

来自:Python的禅宗

可读性很重要。



 类似资料:
  • 我有一个重要的问题。 我以前使用过JSF1.2。我会使用一些基本的标签,比如 还有像这样的脸 为了使用ajax功能,我与 例如我使用了q jetty Web服务器来使用JSF标记。今天,我在JSF2.0、PrimeFaces和glassfish应用服务器上工作了一周。 所以我有以下问题:我是与JSF合作过,还是与Mojarra合作过?抱歉,但我并不清楚这两种技术之间的确切区别。 多谢了,麦克

  • 在 Python 类的内部,无论是类属性还是实例属性,都是以字典的形式进行存储的,其中属性名作为键,而值作为该键对应的值。 为了方便用户查看类中包含哪些属性,Python 类提供了 __dict__ 属性。需要注意的一点是,该属性可以用类名或者类的实例对象来调用,用类名直接调用 __dict__,会输出该由类中所有类属性组成的字典;而使用类的实例对象调用 __dict__,会输出由类中所有实例属性

  • 编译以下代码时: 我得到警告提示: 在I之后,程序中断似乎没有改变。 以下是输出: 问题2:进程在启动时是否在堆上分配内存以供将来使用?还是编译器更改了分配的时间点?否则,为什么? 可以设置参数来控制的行为,并且有一个名为的参数,一般情况下: 如果请求的内存小于它,则将使用; 如果请求的内存大于或等于它,则将使用; 该参数的默认值是(在我的系统上),但在我的测试程序中我使用了1MB,所以选择了,当

  • 问题内容: 对于我开发的某些应用程序(后来逐渐忘记了),我一直在编写纯SQL,主要是针对MySQL。尽管我在SQLAlchemy之类的python中使用过ORM,但是我并没有坚持很长时间。通常,这是文档或复杂性(从我的角度来看)使我退缩。 我这样看:如果要使用一种类型的数据库,则使用ORM进行可移植性,使用普通SQL。我真的在寻求有关在开发需要数据库支持的应用程序时何时使用ORM或SQL的建议。

  • 问题内容: 我不知道为什么一个类是一个,但是一个实例只是一个普通的 问题答案: 这有助于解释器确保类级属性和方法的键只能是字符串。 在其他地方,Python是一种“成年人同意语言”,这意味着对象的指示由用户公开和可变。但是,对于类的类级属性和方法,如果可以保证键是字符串,则可以在类级简化和加快用于属性和方法查找的常见案例代码。尤其是,通过假定类dict键为字符串,可以简化和加快用于新型类的__mr

  • 问题内容: 首先,我将解释如何理解和使用: 是为了批量加载对象的关系,从而减少对数据库的SQL请求。这对 LAZY 关系特别有用。 但是,它在 LAZY 关系上甚至还很有用:如果从数据库中加载实体列表并要求加载懒惰的实体,即使我只是使用测试来加载第一个实体的关系,它也会按批加载实体名单。 请注意是否有人要测试:仅显示是否尚未加载实体:例如,如果您有一个具有经理的用户列表并列出了所有用户,则当您访问