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

Bagaimana untuk Mendapatkan Nama Kaedah Pemanggil dalam Python?

Linda Hamilton
Lepaskan: 2024-12-07 07:56:13
asal
429 orang telah melayarinya

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

Apabila dilaksanakan, kod ini akan mengeluarkan:

Caller's name: method1
Caller's name: method2
Salin selepas log masuk

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!

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