Rumah >pembangunan bahagian belakang >Tutorial Python >Bolehkah Anda Mencetak Nama Pembolehubah Asal dalam Python Selepas Fungsi Kembali?
Mencetak Nama Pembolehubah dalam Python Selepas Fungsi Kembali
Dalam Python, adalah perkara biasa untuk menggunakan pembolehubah terhitung seperti myEnum.SomeNameA dan myEnum. SomeNameB. Apabila pembolehubah ini dikembalikan daripada fungsi, ia boleh berguna untuk mencetak nama mereka dan bukannya nilainya.
Jawapan Ringkas: Tidak Mungkin
Jawapan ringkasnya ialah ia tidak mungkin mencetak nama pembolehubah asal selepas ia dikembalikan daripada fungsi. Ini kerana pembolehubah Python bukan objek yang mempunyai nama yang dikaitkan dengannya.
Jawapan Panjang: Penyelesaian Hacky
Terdapat beberapa penyelesaian yang mungkin membolehkan anda mencapai sesuatu yang serupa , tetapi kaedah ini biasanya tidak disyorkan untuk kod pengeluaran. Satu penyelesaian sedemikian melibatkan penggunaan surih balik, periksa dan modul lain untuk mengakses maklumat tentang timbunan panggilan. Ini boleh dicapai menggunakan kod yang serupa dengan yang berikut:
<code class="python">import inspect import traceback def get_variable_name(value): # Get the current stack frame frame = inspect.currentframe() # Get the function that called this function function = frame.f_back.f_code # Get the line number of the call line_number = frame.f_back.f_lineno # Get the source code for that line source_line = function.co_lines[line_number - 1] # Find the variable name var_name = source_line.split("=")[0].strip() return var_name</code>
Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa penyelesaian sedemikian mungkin rumit dan terdedah kepada ralat, dan ia mungkin tidak sesuai untuk semua situasi.
Alternatif Penyelesaian
Daripada cuba mencetak nama pembolehubah, anda boleh mempertimbangkan untuk menggunakan pendekatan berbeza berdasarkan kes penggunaan khusus anda. Sebagai contoh, anda boleh mengekalkan kamus yang memetakan nilai kepada nama yang sepadan atau menggunakan rangka kerja pengelogan untuk merekodkan nama pembolehubah berserta nilainya.
Atas ialah kandungan terperinci Bolehkah Anda Mencetak Nama Pembolehubah Asal dalam Python Selepas Fungsi Kembali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!