Python 是一門非常流行的編程語言,其方便易用的特性受到了廣大程序員的喜愛。但是,在編程中有時我們需要獲得變量名,這時該怎么辦呢? Python 提供了幾種方法,讓我們一起來看看吧。
方法一:使用 locals() 函數。
def get_var_name(var):
return [k for k, v in locals().items() if v is var][0]
a = 1
print(get_var_name(a)) # 輸出 a
方法二:使用 inspect 模塊。
import inspect
def get_var_name(var):
for fi in reversed(inspect.stack()):
names = [var_name for var_name, var_val in fi.frame.f_locals.items() if var_val is var]
if len(names) >0:
return names[0]
a = 1
print(get_var_name(a)) # 輸出 a
方法三:使用 ast 模塊。
import ast
def get_var_name(var):
for obj in ast.walk(ast.parse(inspect.getsource(var))):
if isinstance(obj, ast.Name) and obj.id == var.__name__:
return obj.id
a = 1
print(get_var_name(a)) # 輸出 a
以上三種方法都可以獲得變量名,可以根據具體需求選擇適合自己的方法。以上示例代碼通過一個自定義的函數來獲得變量名,可以在實際運用中進行適當的修改。
上一篇vue圖片編輯標注