5 Ocak 2012, PERŞEMBE
Python yerleşik bir kimlik işlevi var mı?
Hiçbir şey yapmayan bir fonksiyonu işaret etmek istiyorum:
def identity(*args)
return args
kullanın benim durumumda böyle bir şey
try:
gettext.find(...)
...
_ = gettext.gettext
else:
_ = identity
Tabii ki, identity
yukarıda tanımlanan kullanabilirim, ama bir yerleşik kesinlikle daha hızlı (ve böcekler benim kendi tarafından sunulan önlemek) çalışır.
Görünüşe göre, map
filter
kimlik None
kullanın, ama bu onların uygulamaları için özeldir.
>>> _=None
>>> _("hello")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'NoneType' object is not callable
CEVAP
5 Ocak 2012, PERŞEMBE
Biraz daha araştırma yaparak, bir özelliği Raymond Hettinger said there won't be issue 1673203 Ve istendi hiçbiri değildir
İnsanlar kendi önemsiz yazmak için daha iyi bir geçiş geçmek ve imza ve zaman maliyeti hakkında düşünüyorum.
Bunu yapmanın daha iyi bir yolu aslında (lambda işlevi adlandırma önler)
_ = lambda *args: args
- avantajı: parametreler . herhangi bir sayı alır
- dezavantajı: sonuç parametrelerin kutulu bir versiyonu
YA
_ = lambda x: x
- avantajı: parametre türünü değiştirmez
- alır tam olarak 1 konumsal parametre
Bunu Paylaş:
Neden hayır önce(iterable) yerleşik iş...
İşlevi'Python adı s ile bir dized...
Bir nesnenin mevcut tüm özelliklerini ...
Zarif Python CamelCase camel_case dönü...
yerleşik fonksiyon aç python: mod, bir...