क्या इसमें कोई अंतर है
class A:
...
तथा
class A():
...
मुझे बस एहसास हुआ कि मेरी कक्षाओं के एक जोड़े को पूर्व के रूप में परिभाषित किया गया है और वे ठीक काम करते हैं। क्या खाली कोष्ठक से कोई फर्क पड़ता है?
जवाबों:
बाद वाला पायथन के पुराने संस्करणों पर एक वाक्यविन्यास त्रुटि है। Python 2.x में आपको objectजब भी संभव हो तब से प्राप्त करना चाहिए , क्योंकि कई उपयोगी सुविधाएँ केवल नई शैली की कक्षाओं के साथ उपलब्ध हैं (व्युत्पन्न objectPython 3.x में वैकल्पिक है, क्योंकि नई-शैली की कक्षाएं वहां डिफ़ॉल्ट हैं)।
class A()कभी सिंटैक्स त्रुटि हुई थी? अजगर 1.4 डॉक्स का कहना है कि यह ठीक है, और उन सबसे पुराने डॉक्स अभी भी python.org पर उपलब्ध हैं।
जबकि वर्ग परिभाषा में खाली कोष्ठक का उपयोग करना वाक्य-रचना के लिए गलत नहीं हो सकता है, वर्ग परिभाषा के बाद कोष्ठक का उपयोग वंशानुक्रम को इंगित करने के लिए किया जाता है, उदाहरण के लिए:
class A(baseClass):
...
पायथन में, बिना किसी आधार वर्ग के वर्ग घोषणा के लिए पसंदीदा वाक्यविन्यास बस है:
class A:
...
जब तक आप अन्य वर्गों को उपवर्ग नहीं दे रहे हैं, तब तक कोष्ठक का उपयोग न करें।
इस मामले पर डॉक्स आप कैसे घोषित करने और अजगर में उपयोग के वर्गों के लिए बेहतर ढंग से समझ देना चाहिए।
objectबकवास से प्राप्त होने वाले सभी को स्वचालित रूप से ध्यान रखा जाता है।