Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Mendapatkan Nama Kaedah Pemanggil dalam Python?

Bagaimana untuk Mendapatkan Nama Kaedah Pemanggil dalam Python?

Linda Hamilton
Linda Hamiltonasal
2024-12-07 07:56:13487semak imbas

How to Get the Caller's Method Name in Python?

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!

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