Python’da işlevin adını dize olarak nasıl alırız?

Python’da, işlevi çağırmadan işlev adını dize olarak nasıl alabiliriz? çıktı da "fonksiyonum" olmalı.

Python’da, işlevi çağırmadan işlev adını dize olarak nasıl alabiliriz?

def fonksiyonum():
    pass

print fonksiyon_adini_al(fonksiyonum) 

çıktı da "fonksiyonum" olmalı.


__name__ kullanımı

fonksiyonum.__name__

__name__ kullanımı tercih edilen yöntemdir. Çünkü her methoda uygulanabilir. func_name‘in aksine yerleşik işlevler üzerinde çalışır:

>>> import time
>>> time.time.func_name
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AttributeError: 'builtin_function_or_method' object has no attribute 'func_name'
>>> time.time.__name__ 
'time'

Ayrıca çift alt çizgiler okuyucuya bunun özel bir özellik olduğunu gösterir. Bonus olarak, sınıfların ve modüllerin de bir __name__ özelliği vardır.

inspect kullanımı

Geçerli işlevin veya yöntemin adını bu işlev içinden almak için ise aşağıdakileri uygulayabiliriz:

import inspect
bu_fonksiyonun_adi = inspect.currentframe().f_code.co_name

inspect.currentframe yerine sys._getframe‘de kullanılabilir. Ancak ilk yöntem özel bir işleve erişmekten kaçınır.

Çağıran işlevin adını almak istiyorsanız f_back kullanabilirsiniz:

inspect.currentframe().f_back.f_code.co_name

Bu yazı topluluk tarafından oluşturuldu. Lisans bilgisine bakabilirsiniz. Yanlış veya eksik bilgileri düzenlemek için github üzerinden katkıda bulunabilirsiniz.

Kategoriler: Yazı, Python

Okumaya devam et!

Dizenin boş olup olmadığı Python’da nasıl kontrol edilir?

Boş dizeler “sahte” dir (python 2 veya python 3 referansı), yani Boole bağlamında yanlış (False) olarak kabul edilirler, bu nedenle aşağıdakini yapabiliriz: Değişkeninizin bir dize olduğunu biliyorsanız bu tercih edilen yol olacaktır.

Python101 – Modülleri Kullanma

Bu bölüm için bir alıştırma ile başlayalım.

Python’da dosya oluşturma ve değiştirme tarihi/saati nasıl öğrenilir?

Platformlar arası dosya oluşturma ve değişiklik tarihlerini almanın en iyi yolu Python‘da nedir? Platformlar arası değişiklik tarihi almak kolaydır – os.

Python’da dosya boyutuna nasıl bakarım?

Dosya boyutunun önemli olduğu bir uygulama yapmaya çalışıyorum.

Yorum Gönderin

E-posta hesabınız yayımlanmayacak.

koddla
Tema Mundana by WowThemes.net.