Dalam Python, mengakses nama pembolehubah secara langsung bukanlah tugas yang mudah. Walau bagaimanapun, untuk senario tertentu, di mana mendapatkan nama pembolehubah adalah penting, pertimbangkan penyelesaian berikut.
Melalui modul periksa, anda boleh melintasi timbunan panggilan dan mengekstrak pembolehubah nama minat. Begini caranya:
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)
Untuk menggambarkan fungsinya, katakan anda mempunyai pembolehubah bernama spam dengan nilai 42. Menggunakan fungsi varname(), anda boleh mendapatkan semula namanya:
if __name__ == '__main__': spam = 42 print varname(spam)
Output akan be:
spam
Walaupun pendekatan ini menyediakan cara untuk mengakses nama pembolehubah, adalah penting untuk menggunakannya dengan bijak. Penamaan pembolehubah langsung secara amnya tidak digalakkan dalam amalan pengekodan Pythonic. Pertimbangkan penyelesaian alternatif, seperti menukar fail konfigurasi kepada kamus semasa pemulaan untuk mengelakkan keperluan untuk teknik ini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nama Pembolehubah Python pada Runtime?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!