30 EKİM 2008, PERŞEMBE
Nasıl bir işlev adı için Python ile bir dize olarak?
Python, nasıl işlevi çağırmadan string olarak işlev adı alabilirim?
def my_function():
pass
print get_function_name_as_string(my_function) # my_function is not in quotes
çıkış "my_function"
.
Bu mevcut python? Python get_function_name_as_string
yazmayı değilse, bir fikriniz var mı?
CEVAP
1 Kasım 2008, CUMARTESİ
my_function.__name__
__name__
kullanarak düzgün geçerli olarak tercih edilen yöntem. func_name
, aksine yerleşik fonksiyonları da ç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 belirtmek çift bu özel bir niteliktir okuyucuya altını çiziyor. Bir bonus olarak, dersleri ve modülleri __name__
niteliği de var, sadece bir özel isim hatırlıyorum.
Bunu Paylaş:
Nasıl bir değişken adı için Python ile...
Nasıl dize Python küçük harfe dönüştür...
Nasıl bir dize olarak adını aldığımda ...
Nasıl bir Python nesne olup olmadığını...
Geçen anahtar kelime python parametre ...