कक्षा एम: या कक्षा एम () :?

बिना विरासत वाले वर्ग परिभाषा के लिए, क्या कोई अंतर या स्टाइलिस्ट वरीयता है:

class M:
    pass

तथा

class M():
    pass

?

मुझे पीईपी 8 में इसका उल्लेख नहीं मिला।

0
एफडब्ल्यूआईडब्ल्यू, मैं अभी भी हमेशा ऑब्जेक्ट से प्राप्त होने के शिविर में पड़ता हूं ... भले ही यह python3.x में बहुत अर्थहीन है ...
जोड़ा लेखक mgilson, स्रोत
@abarnert - हाँ, मुझे पता है। यही कारण है कि मैंने अपनी टिप्पणी को एफडब्ल्यूआईडब्ल्यू के साथ उपसर्ग किया और एक बयान स्पष्ट रूप से इंगित करता है कि यह मेरी राय है कि इसे object :-) के बिना वर्तनी न करें। मैं अभी भी कुछ साल दूर हूं जो मुझे लगता है :)। लेकिन, लोगों के लिए अपनी परियोजनाओं के सभी में केवल py3k लिखने के लिए, मुझे लगता है कि मैं आपके उत्तर से सहमत हूं।
जोड़ा लेखक mgilson, स्रोत
यदि यह पीईपी 8 में नहीं है, तो सलाह पाने के लिए एक और अच्छी जगह मानक पुस्तकालय को देखकर है
जोड़ा लेखक John La Rooy, स्रोत
@mgilson: चूंकि वे किसी भी समय सभी (ऑब्जेक्ट) अड्डों को हटाने के लिए ट्यूटोरियल को फिर से लिखते हैं, मुझे लगता है कि अब यह कहना उचित नहीं है कि "हर किसी को हमेशा ऑब्जेक्ट से प्राप्त होना चाहिए। यह है हमेशा ऐसा करने के लिए पूरी तरह से उचित है स्वयं , लेकिन यह तब भी खुलता है जब "लोग ऐसा नहीं करते हैं, उन्हें यह कैसे वर्तनी चाहिए?", यही ओपी पूछ रहा है।
जोड़ा लेखक abarnert, स्रोत

1 उत्तर

यह पीईपी 8 में नहीं है क्योंकि पाइथन 3 के प्रारंभिक दिनों में, गिडो ने सुझाव दिया कि संक्रमण अवधि के दौरान सभी को ऑब्जेक्ट से स्पष्ट रूप से विरासत में होना चाहिए। संभवतः यह अद्यतन किया जाना चाहिए ...

हालांकि, यदि आप उन दस्तावेज़ों के सभी उदाहरणों को देखते हैं जो कक्षा एम (ऑब्जेक्ट) का उपयोग नहीं करते हैं: , वे सभी पहले प्रारूप, class M: का उपयोग करते हैं।

उदाहरण के लिए, क्लास डेफिनिशन सिंटेक्स देखें, कक्षा ऑब्जेक्ट , और ट्यूटोरियल में निम्न सभी अनुभाग। (और ध्यान दें कि ट्यूटोरियल यह भी समझाता नहीं है कि आप कोष्ठक के अंदर शून्य आधार वर्गों का उपयोग कर सकते हैं।)

(इसके अलावा, कम से कम मेरे लिए, दूसरा प्रारूप का तात्पर्य है कि आप स्पष्ट रूप से कुछ भी नहीं प्राप्त करने की कोशिश कर रहे हैं, जो भ्रामक है, जबकि पहला यह दर्शाता है कि आप जो कुछ भी डिफ़ॉल्ट कर रहे हैं।)

0
जोड़ा
+1। पीईपी 8 वास्तव में पाइथन 2 के साथ लिखा गया था जब एक वास्तविक अंतर ऑब्जेक्ट से स्पष्ट रूप से विरासत में प्राप्त करने और कुछ भी निर्दिष्ट नहीं करने के बीच। मैं यह भी स्वीकार करता हूं कि खाली कोष्ठक इसे थोड़ा अस्पष्ट बना देंगे यदि यह वस्तु से विरासत में है या नहीं (हालांकि यह हमेशा होगा)। तो पहला तरीका पसंद किया जाएगा।
जोड़ा लेखक poke, स्रोत
@ पोक: ग्रेट एडिशन। लेकिन पीईपी 8 को भाषा के साथ विकसित होना चाहिए (इसे हाल ही में 1 अगस्त 2013 में संशोधित किया गया था), इसलिए शायद आजकल इस मामले को कवर करना चाहिए। लेकिन बग ट्रैकर या सूचियों में से एक पर बहस करने के लिए कुछ है, अगर कोई इसे बदलने के लिए दृढ़ता से पर्याप्त परवाह करता है।
जोड़ा लेखक abarnert, स्रोत