【问题标题】:How to use NameError to define a variable in Python如何使用 NameError 在 Python 中定义变量
【发布时间】:2018-02-28 16:08:57
【问题描述】:

在下面的 Python 代码中,我想将变量放入一个可能尚未定义的数组中。如果未定义它们,我想为它们分配 None 的值。这可能吗?

try:
    array = [variable1, variable2]
except NameError:
    array[whatever] = None

【问题讨论】:

  • 您为什么要尝试使用可能尚未定义的变量?确保它们已被定义。从技术上讲,捕获 NameError 是可能的,但这通常是个坏主意。
  • 未定义的变量是包含 RTD 测量过去值的变量。过去的值在第一次迭代时没有定义,因为第一次测量没有过去的值。
  • 所以初始化变量

标签: python arrays error-handling exception-handling nameerror


【解决方案1】:

这是个坏主意,但是:

def handle_nameerror(list_to_set, *varnames):
    for i in varnames:
        try:
            list_to_set.append(globals()[i])
        except NameError:
            list_to_set.append(None)

会起作用的。

【讨论】:

  • 谢谢!我想问为什么这是一个坏主意?
  • @DanielCDH 这不是pythonic。这是一个 JS 原则 - 在名称错误时返回 undefined。回退到 None 也会导致混乱。在 JS 中,这种混淆并不重要。
猜你喜欢
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 2021-06-05
  • 1970-01-01
  • 1970-01-01
  • 2017-08-30
  • 2021-01-19
相关资源
最近更新 更多