Mengakses Nama Kaedah Pemanggil dalam Python
Mendapatkan nama kaedah panggilan di dalam kaedah yang dipanggil boleh terbukti berguna dalam penyahpepijatan dan introspeksi. Untuk mencapai matlamat ini, Python menyediakan modul inspect, yang menawarkan satu set fungsi untuk memeriksa objek kod.
Menggunakan fungsi getframeinfo dan currentframe daripada inspect, seseorang boleh mengakses callstack dan mendapatkan semula bingkai pemanggil. Dengan melelaran melalui tindanan panggilan, ia menjadi mungkin untuk mengenal pasti nama pemanggil.
Berikut ialah contoh yang menggambarkan pendekatan ini:
import inspect def method1(): frame = inspect.currentframe() outer_frame = inspect.getouterframes(frame, 2)[1] print(f"Caller's name: {outer_frame[3]}") method2() def method2(): frame = inspect.currentframe() outer_frame = inspect.getouterframes(frame, 2)[1] print(f"Caller's name: {outer_frame[3]}") method1()
Apabila dilaksanakan, kod ini akan mengeluarkan:
Caller's name: method1 Caller's name: method2
Walaupun introspeksi boleh memberi manfaat untuk penyahpepijatan dan pembangunan, ia tidak sepatutnya terlalu berat bergantung kepada fungsi berkaitan pengeluaran.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nama Kaedah Pemanggil dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!