python - स्ट्रैप क्यों नहीं बोलती है?




standard-library cpython (2)

मैं इस पर आया - मेरे विचार में - अजीब व्यवहार:

"a b c".split(maxsplit=1)
TypeError: split() takes no keyword arguments

क्यों str.split () कीवर्ड तर्कों को नहीं लेते हैं, भले ही यह समझ में आता है? मुझे यह व्यवहार दोनों पायथन 2 और पायथन 3 में मिला।


यह बग और इसके सुपरसेडर देखें।

str.split() CPython में एक देशी समारोह है, और इस तरह से वर्णित व्यवहार दर्शाता है :

CPython कार्यान्वयन विवरण: एक कार्यान्वयन अंतर्निहित कार्य प्रदान कर सकता है, जिनके स्थितीय पैरामीटर के नाम नहीं होते हैं, भले ही वे दस्तावेज के उद्देश्य के लिए 'नाम' हों, और इसलिए कीवर्ड द्वारा प्रदान नहीं किया जा सकता है। सीपीआईथॉन में, यह सी में क्रियान्वित कार्यों के लिए मामला है जो कि उनके तर्कों को पार्स करने के लिए PyArg_ParseTuple() का उपयोग PyArg_ParseTuple() है।


str.split सी में लागू एक अंतर्निहित विधि है। दुर्भाग्य से कुछ अंतर्निहित कार्य / विधियां कीवर्ड तर्कों को स्वीकार नहीं करती हैं। यह बग रिपोर्ट देखें





string-split