SORU
22 Mayıs 2009, Cuma


Arayan işlev adı girmek Python başka bir işlevi?

2 fonksiyonlar gibi:

def A
def B

ve Bir çağrı B, Al içeri B arayan B, gibi:

def A () :
    B ()

def B () :
    this.caller.name

CEVAP
22 Mayıs 2009, Cuma


Çağrı yığını için inspect modülünü kullanabilirsiniz. Çerçeve kayıtların listesini verir. Her kayıtta üçüncü eleman arayan ismi. İstediğin bu mu:

>>> import inspect
>>> def f():
...     print inspect.stack()[1][3]
...
>>> def g():
...     f()
...
>>> g()
g

Tabii ki, yeterince çerçeve kayıtları mevcut belirli bir dizin erişmek için denemeden önce kontrol etmek iyi bir fikirdir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amena

    Amena

    15 Kasım 2006
  • Kenneth Håkonsen

    Kenneth Håk

    13 Mart 2011
  • martin shervington

    martin sherv

    7 EKİM 2011