Apabila bekerja dengan kod Python yang kompleks, ia boleh berguna untuk mendapatkan nama kaedah yang dipanggil kaedah tertentu. Ini boleh membantu dalam penyahpepijatan, pemprofilan dan memahami aliran kod.
Salah satu cara untuk mencapainya ialah menggunakan modul pemeriksa, terutamanya fungsi getframeinfo dan getouterframes. Fungsi ini memberikan maklumat tentang bingkai semasa dan sebelumnya dalam tindanan panggilan.
Pertimbangkan contoh berikut:
def method1(self): ... a = A.method2() def method2(self): ...
Jika kita ingin mendapatkan nama pemanggil (kaedah1) dalam kaedah2 tanpa mengubah suai kaedah1, kita boleh menggunakan kod berikut:
import inspect def f1(): f2() def f2(): curframe = inspect.currentframe() calframe = inspect.getouterframes(curframe, 2) print('caller name:', calframe[1][3]) f1()
Kod ini menggunakan bingkai semasa untuk mendapatkan bingkai luar, yang mewakili kaedah pemanggil. Nama fungsi kemudiannya diekstrak daripada maklumat bingkai luar.
Adalah penting untuk ambil perhatian bahawa teknik introspeksi seperti ini bertujuan terutamanya untuk tujuan nyahpepijat dan pembangunan. Bergantung pada mereka untuk fungsi kritikal pengeluaran adalah tidak disyorkan.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nama Kaedah Panggilan dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!