Python 動態定義變量名

目的:實現根據傳入的參數,如 n=6,動態的生成6個變量名,可以在後續程序中調用使用

Python 動態定義變量名


1、利用命名空間

  • 利用命名空間動態賦值

Python的命名空間中,將變量名與值存儲在字典中,

可以通過locals()globals()函數分別獲取局部命名空間和全局命名空間。

示例:

names = locals()
listTemp = 
for i in range(6):
    names['x%s' % i] = i		# 方法1
    #names['a'+ str(i)] = i		# 方法2
print(x0,x1,x2,x3,x4,x5)	# 此時,xi = i

輸出:

0 1 2 3 4 5

2、動態變量名賦值

  • 動態變量名賦值

在使用時需要動態生成變量,如動態生成var0...var5變量

使用exec動態賦值

execpython3中是內置函數,它支持python代碼的動態執行。

示例:

for i in range(6):
    exec('var{} = {}'.format(i, i))
print(var0, var1, var2, var3 ,var4 ,var5)

輸出:

0 1 2 3 4 5

3、類中使用動態變量

  • 在類中使用動態變量賦值

python的類對象的屬性儲存在的__dict__中。dict是一個詞典,鍵爲屬性名,值對應屬性的值。

示例:

class Test_class(object):
    def __init__(self):
        names = self.__dict__
        for i in range(6):
            names['n' + str(i)] = i
            #names['x%s' % i] = i

t = Test_class()
print(t.n0, t.n1, t.n2, t.n3, t.n4, t.n5)

輸出:

0 1 2 3 4 5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章