Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bolehkah Anda Mencetak Nama Pembolehubah Asal dalam Python Selepas Fungsi Kembali?

Bolehkah Anda Mencetak Nama Pembolehubah Asal dalam Python Selepas Fungsi Kembali?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 15:37:02596semak imbas

Can You Print the Original Variable Names in Python After a Function Return?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn