在 Python 中列印變數名

Muhammad Maisam Abbas 2023年1月30日 2022年5月17日
  1. 在 Python 中使用 globals() 函式列印變數名
  2. 在 Python 中使用字典列印變數名
在 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[] 中傳遞值。這個實現很簡潔,但需要在修改變數時不斷更新。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

相關文章 - Python Variable