通過以下程序可以動態創建局部變量
names = locals()
for i in range(3):
names['n' + str(i) ] = i
#創建後直接調用變量名沒問題
print(n0, n1, n2)
但是,使用中發現,如果動態創建的變量實在函數中創建的且最後需要被return 返回,則如下寫法就不行,會提示沒有定義n0等。
def():
names = locals()
for i in range(3):
names['n' + str(i) ] = i
#創建後直接調用變量名沒問題
return n0,n1,n2
對於這種情況,上述的return 應該改寫爲
return names['n0'],names['n1'],names['n2']