如何使用NameError在Python中定义变量

如何使用NameError在Python中定义变量,python,arrays,error-handling,exception-handling,nameerror,Python,Arrays,Error Handling,Exception Handling,Nameerror,在下面的Python代码中,我想将变量放入一个可能尚未定义的数组中。如果它们没有定义,我想给它们赋值为None。这可能吗 try: array = [variable1, variable2] except NameError: array[whatever] = None 这是个坏主意,但是: def handle_nameerror(list_to_set, *varnames): for i in varnames: try:

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

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

这是个坏主意,但是:

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)

将起作用。

为什么要尝试使用可能未定义的变量?确保它们已被定义。从技术上讲,捕获NameError是可能的,但这通常不是一个好主意。未定义的变量是包含RTD测量值过去值的变量。在第一次迭代中没有定义过去的值,因为第一次测量没有过去的值。所以初始化变量。谢谢!我想问为什么这是个坏主意?@DanielCDH这不是pythonic。这是一个JS原则-返回未定义的名称错误。此外,支持“无”也会导致混乱。在JS中,这种混淆并不重要。