在 Python 中,直接存取變數的名稱並不是一項簡單的任務。但是,對於特定場景,獲取變數名稱至關重要,請考慮以下解決方案。
透過檢查模組,您可以遍歷呼叫堆疊並提取變數興趣的名稱。其實作方式如下:
import inspect, re def varname(p): for line in inspect.getframeinfo(inspect.currentframe().f_back)[3]: m = re.search(r'\bvarname\s*\(\s*([A-Za-z_][A-Za-z0-9_]*)\s*\)', line) if m: return m.group(1)
為了說明其功能,假設您有一個名為 spam 且值為 42 的變數。使用varname() 函數,您可以檢索它的名稱:
if __name__ == '__main__': spam = 42 print varname(spam)
輸出將be:
spam
雖然這種方法提供了一種存取變數名稱的方法,但明智地使用它很重要。在 Pythonic 編碼實踐中通常不鼓勵直接變數命名。考慮替代解決方案,例如在初始化期間將設定檔轉換為字典,以避免需要這種技術。
以上是如何在運行時取得 Python 變數的名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!