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

如何以编程方式设置全局(模块)变量?

海翼
2023-03-14
问题内容

我想以“程序化”方式定义全局变量。与我要执行的操作类似的操作是:

definitions = {'a': 1, 'b': 2, 'c': 123.4}
for definition in definitions.items():
    exec("%s = %r" % definition)  # a = 1, etc.

具体来说,我想创建一个fundamentalconstants包含可通过诸如此类访问的变量的模块fundamentalconstants.electron_mass,其中所有值都是通过解析文件获得的(因此需要以“编程”方式进行分配)。

现在,exec以上解决方案将起作用。但是我对此有些不安,因为恐怕这exec不是实现设置模块全局变量的最干净的方法。


问题答案:

您可以在globals()返回的字典中设置globals:

definitions = {'a': 1, 'b': 2, 'c': 123.4}
for name, value in definitions.items():
    globals()[name] = value


 类似资料:
  • 日安Stackoverflow 我遇到了这样一个事实,我的gradle项目在构建中使用了编码选项。格雷德尔,格雷德尔。酒店,格雷德,格雷德。蝙蝠在Intellij Idea中什么都不做。当我从命令行运行任务时 它运行正常,我在gradlew.bat中设置的编码设置已经实现。但是当我在Intellij Idea中运行相同任务的构建时,这个设置似乎没有设置。 我尝试了许多变体来设置jvm属性,只有3种

  • 问题内容: 我的问题很简单 如何以编程方式设置我的按钮layout_gravity? 我在互联网上找到了它,但它只是抛出了一个Nullpointer异常: 有什么办法吗? 问题答案: Java Kotlin 有关重力值以及如何设置重力,请检查“重力”。 基本上,您应该选择依赖于父项。可以是等等。

  • 问题内容: 这个问题类似于: jsf:在UI中绑定到inputtext的integer属性在提交时设置为零 但是我对解决方案并不完全满意。上下文是相同的:我有一个Web表单,需要一个Integer值。如果文本框为空,我希望我的Integer字段为“null”,但是EL Parser会自动将我的id字段设置为“ 0”。 我可以通过在本地Tomcat VM中设置JVM参数来解决此问题: -Dorg.a

  • 问题内容: 在Jenkins作业的预构建步骤中,我有两个脚本,第一个是perl脚本,第二个是使用groovy插件的系统groovy脚本。我需要第二个Groovy脚本中的第一个Perl脚本中的信息。我认为最好的方法是设置一些环境变量,并且想知道如何实现。 或其他更好的方法。 谢谢你的时间。 问题答案: 在构建步骤之间传播环境变量的方法是通过EnvInject插件。 但是,就您而言,仅在一个构建步骤中

  • 问题内容: 如何以编程方式设置媒体播放器的音量。我将其用于警报通知。非常感谢您的任何帮助,并在此先感谢。 问题答案: 使用 AudioManager ,您可以简单地控制媒体播放器的音量。 也来自MediaPlayer(但我没有尝试过) 由于:API级别1 设置此播放器的音量。建议使用此API来平衡应用程序中音频流的输出。除非您正在编写用于控制用户设置的应用程序,否则应优先使用此API来代替setS

  • 问题内容: 我正在使用来自Android百分比支持包的PercentRelativeLayout。这就是我的布局。 我想以编程方式更改高度。我该如何使用或其他方式进行操作。 问题答案: 您要设置一个新的百分比值吗?如果是,则需要: