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

  • Austin Evans

    Austin Evans

    5 AĞUSTOS 2007
  • CNNMoney

    CNNMoney

    16 Kasım 2006
  • TopDJMag TV

    TopDJMag TV

    29 Temmuz 2010