在 Python 中列印變數名
本教程將討論在 Python 中顯示變數名稱的方法。
在 Python 中使用 globals()
函式列印變數名
globals()
函式 返回當前全域性符號表的字典。符號表是由編譯器維護的資料結構,其中包含程式的所有必要資訊。這些必要的資訊包括變數名、函式、類等。
類似地,還有另一個函式稱為 locals()
函式,它返回當前本地符號表的字典。區域性符號表包含與程式區域性作用域相關的資訊,而全域性符號表包含與程式全域性作用域相關的資訊。區域性作用域可以指特定的類或特定的函式,而全域性作用域是指整個程式。globals()
和 locals()
函式之間的唯一區別是作用域。我們可以搜尋這個字典來找到一個與所需變數的值相匹配的值。
下面的程式碼示例顯示瞭如何使用 globals()
函式列印變數的名稱。
variable = 22
vnames = [name for name in globals() if globals()[name] is variable]
print(vnames)
輸出:
['variable']
我們使用列表推導式遍歷由 globals()
函式獲得的字典中的每個元素,並返回與我們的變數值匹配的專案的鍵。我們將返回值儲存在 vnames
列表中並顯示所有 vnames
元素。
在 Python 中使用字典列印變數名
如上所述,globals()
和 locals()
函式都返回一個將變數對映到其值的字典。我們可以通過建立一個字典來複制相同的功能,該字典以(鍵,值)對的形式包含變數名稱及其對應的值。下面的程式碼示例演示如何使用字典列印變數名稱。
variable1 = 22
variable2 = 23
vnames = {22: "variable1", 23: "variable2"}
print(vnames[variable1])
輸出:
variable1
我們將變數值儲存為鍵,將相應的變數名稱儲存為 vnames
字典值。每當我們必須列印特定變數的名稱時,我們都必須在 vnames[]
中傳遞值。這個實現很簡潔,但需要在修改變數時不斷更新。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn