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

Python:将字典中的变量加载到名称空间中

司徒池暝
2023-03-14
问题内容

我想在函数外部使用一堆在函数中定义的局部变量。因此,我传递x=locals()了返回值。

如何将该词典中定义的所有变量加载到函数外部的名称空间中,这样x['variable']我可以简单地使用而不是使用来访问值variable


问题答案:

考虑Bunch替代方案:

class Bunch(object):
  def __init__(self, adict):
    self.__dict__.update(adict)

因此,如果您有一本字典,d并且想要使用语法x.foo而不是clumsier来访问(读取)其值d['foo'],请执行

x = Bunch(d)

这个作品内外的功能-它的 巨大 清洁,较安全的注射dglobals()!记住Python Zen中的最后一行…:

>>> import this
The Zen of Python, by Tim Peters
   ...
Namespaces are one honking great idea -- let's do more of those!


 类似资料:
  • 我有一个具有WSDL定义的非常基本的WCF服务,如下所示: 我想添加名称空间xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance“根据定义,但我不知道在哪里以及如何。 如何添加该名称空间?非常感谢。

  • 问题内容: 如果满足某些条件,您将如何向字典中的值添加一个常数,例如1。 例如,如果我有字典: 如果我只是想将整数1添加到字典中的每个值,那么它将dict这样更新: 当我使用以下代码(其中Cur_FID是字典“ 0”中的第一个)时,它的值为5?它应该给我4。 我想为所有值加1,但是在第一次字典更新做一些奇怪的操作时就停在这里。 问题答案: 一种简单的方法是使用对象,在大多数情况下,您可以像普通字典

  • 问题内容: 问题:是否可以在不使用字符串构造函数的情况下将变量用作表名? 信息: 我现在正在研究一个项目,该项目对来自我的恒星模拟的数据进行分类。为此,我将所有数据加载到sqlite数据库中。它工作得很好,但是我决定为数据库增加更多的灵活性,效率和可用性。我计划稍后在模拟中添加小行星,并希望为每个恒星提供一张表格。这样,我就不必查询每个太阳系中1-4k的20m个小行星的表。 有人告诉我使用字符串构

  • 问题内容: 我想使用运行时之前不知道的字段名称过滤器来调用查询…不确定如何构造变量名称…或者我很累。 如果funct()返回的名称等于 不知道该怎么做… 问题答案: 您可以创建字典,设置参数,然后通过解压缩字典作为关键字参数将其传递给函数:

  • 问题内容: 根据特定的WSDL实现WebService。客户端无法更改。正确处理了来自客户端的请求,但是由于变量中的名称空间,客户端抱怨响应。 我想要什么(基于WSDL的soapUI响应): 我得到了什么(有关引起验证问题的变量的通知): Java客户端抛出此异常: [com.sun.istack.SAXParseException2; lineNumber:2;columnNumber:162;

  • 问题内容: 假设有一个文件夹“ / home / user / temp/a40bd22344”。名称是完全随机的,并且在每次迭代中都会更改。我需要能够使用固定名称(例如“ project”)在Python中导入此文件夹。我知道我可以将此文件夹添加到sys.path中以启用导入查找,但是有没有一种方法可以将“a40bd22344”替换为“项目”? 也许 init .py有一些聪明的技巧? 添加: