2017-09-19 96 views
-5

在下面的Python代碼中,我想將變量放入可能尚未定義的數組中。如果它們沒有定義,我想給它們賦值None。這可能嗎?如何使用NameError在Python中定義變量

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

你爲什麼試圖使用可能沒有定義的變量?確保它們已被定義。捕獲一個NameError在技術上是可能的,但這通常是一個糟糕的主意。 – user2357112

+0

未定義的變量是包含RTD測量的過去值的變量。過去的值沒有在第一次迭代中定義,因爲第一次測量沒有過去的值。 –

+0

所以*初始化變量*。 – user2357112

回答

0

這是一個壞主意,但:

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) 

會工作。

+0

謝謝!我想問問爲什麼這是個壞主意? –

+0

@丹尼爾CDH這不是pythonic。這是一個JS原則 - 返回未定義的名稱錯誤。同時備用到None會導致混淆。在JS中,這種混淆並不重要。 –

相關問題