Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách lấy tên biến dưới dạng chuỗi trong Python?

Đây không thực sự là điều bạn làm trong Python vì biến thực chất là ánh xạ tên đến đối tượng. Các đối tượng duy nhất trong Python có tên chuẩn là module, hàm, và class, và tất nhiên không có đảm bảo rằng tên chuẩn này có ý nghĩa trong bất kỳ namespace nào sau khi hàm hoặc class được định nghĩa hoặc module được import. Các tên này cũng có thể bị sửa đổi sau khi đối tượng được tạo nên chúng có thể không luôn đáng tin cậy.

Vẫn có cách để lấy tên biến dưới dạng chuỗi. Bạn cần biết chuỗi tên biến để trích xuất nó. Đây là tìm kiếm ngược tên biến. Vì vậy nếu bạn có 2 biến cùng giá trị, nó có thể trả về bất kỳ cái nào. iteritems trả về danh sách tất cả biến trong scope với giá trị của chúng. Ví dụ:

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