Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีดึงชื่อ Variable เป็น String ใน Python

Python ไม่มีวิธีมาตรฐานให้ดึงชื่อตัวแปร เพราะตัวแปรคือ name mapping ไปยัง object

เฉพาะ modules, functions, classes เท่านั้นที่มี canonical name (__name__)

วิธี "ย้อนกลับ" หาชื่อตัวแปรจากค่า (reverse lookup):

>> my_var = 5
>>> my_var_name = [k for k, v in locals().items() if v == my_var][0]
>>> my_var_name
'my_var'

ข้อจำกัด: ถ้ามีตัวแปรหลายตัวมีค่าเท่ากัน อาจคืนชื่อตัวไหนตัวหนึ่ง