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

  • Joseph Hayhoe

    Joseph Hayho

    20 Mayıs 2010
  • Tahir Jahi

    Tahir Jahi

    6 Mart 2006
  • The White House

    The White Ho

    21 Ocak 2006