में खाली फ़ंक्शन परिभाषाओं का पता लगाने के लिए मुझे यह पता लगाने की आवश्यकता है कि कोई फ़ंक्शन एक खाली परिभाषा है या नहीं।पायथन
def foo():
pass
या की तरह:
def foo(i, *arg, **kwargs):
pass
या की तरह:
foo = lambda x: None
'निरीक्षण' मॉड्यूल का उपयोग कर उन्हें पता लगाने के लिए सबसे सुंदर तरीका क्या है ऐसा लगता है कि हो सकता है? क्या इससे बेहतर तरीका है:
def isEmptyFunction(func):
e = lambda: None
return func.__code__.co_code == e.__code__.co_code
आप generate_tokens का उपयोग और देखें कि क्या टोकन के साथ "डीईएफ़" या "लैम्ब्डा" शुरू कर सकते हैं:
मेरी प्रयोजनों के लिए, यह सिर्फ के लिए परीक्षण करने के लिए अतिरिक्त मामले को जोड़ने के लिए काम करता है। इसके बाद, तुरंत बाद में ":" और "पास" या "कोई नहीं" देखें। साफ नहीं है, लेकिन मुझे लगता है कि यह काम करना चाहिए। – spicavigo
फिर भी एक और तरीका Ast मॉड्यूल का उपयोग करना होगा और फ़ंक्शन स्ट्रिंग को पार्स करना होगा। मुझे लगता है कि आप विवरण का काम कर सकते हैं। – spicavigo
जिस तरह से आप इसे कर रहे हैं ठीक दिखता है। – BrenBarn