Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mendapatkan Nama Pembolehubah Python pada Runtime?

Bagaimanakah Saya Boleh Mendapatkan Nama Pembolehubah Python pada Runtime?

Susan Sarandon
Lepaskan: 2024-12-21 14:02:10
asal
148 orang telah melayarinya

How Can I Get a Python Variable's Name at Runtime?

Memintas Nama Pembolehubah dalam Python

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.

Tipu Modul Pemeriksaan

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)
Salin selepas log masuk

Contoh Penggunaan

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)
Salin selepas log masuk

Output

Output akan be:

spam
Salin selepas log masuk

Nota Awas

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan