एक तरीका यह सुनिश्चित करना है कि एक विधि एक विशेष kwarg साथ कहा जाता है की तरह होगा:पायथन: आवश्यक kwarg, जो उठाने के लिए अपवाद?
def mymethod(self, *args, **kwargs):
assert "required_field" in kwargs
स्थापना एक AssertionError
करने के लिए सबसे उपयुक्त बात की तरह प्रतीत नहीं होता। क्या एक अच्छा त्रुटि संदेश के साथ इसे संभालने के लिए अंतर्निहित अपवाद पर कोई सहमति है?
अधिक जानकारी: तीसरे पक्ष के सबक्लासिंग मुद्दे हैं जहां * args और ** kwargs kinda 'को पारित करने की आवश्यकता है इसलिए "आवश्यक_फील्ड" एक स्थितित्मक तर्क वास्तव में एक अच्छा विकल्प नहीं है।
मुझे लगता है कि मानक बात यह है कि इसे 'डिफ़ॉल्ट तर्क' न बनाएं। – mgilson
पहले से ही स्थितित्मक तर्क हैं जिन्हें मैं गड़बड़ नहीं करना चाहता हूं। –
अधिक आम तौर पर, ऐसे मामले भी होते हैं, जो कि कई महत्वपूर्ण कुंजी तर्कों की उपस्थिति या मूल्यों के संबंध में विशिष्ट स्थितियों को पूरा करते हैं, केवल कुछ आवश्यक होने के साथ कई चाबियां स्वीकार कर सकती हैं। –