दूसरी बात अनावश्यक नहीं है - यह इंस्टेंस विशेषताएँ सेट कर रही है। आप इस तरह भी यह कर सकते हैं:
class Foo:
def __init__(self, **kwargs):
for name, value in kwargs.items():
setattr(self, name, value)
लेकिन फिर आप इस तरह फू कॉल करने की आवश्यकता:
Foo(arg1=1, arg2=2, arg3=3)
इसके अलावा अपने आयात अनुचित वाक्य रचना है लगता है। यह from Class import Class
होना चाहिए। यह आपके लिए अनावश्यक दिखता है, क्योंकि ऐसा लगता है कि आप प्रत्येक वर्ग को एक अलग फ़ाइल (मॉड्यूल) में संग्रहीत कर रहे हैं - और यह बिल्कुल अनावश्यक है। पायथन जावा नहीं है, आपको आमतौर पर एक मॉड्यूल में अधिक ऑब्जेक्ट्स रखना चाहिए। ध्यान रखें, वह मॉड्यूल स्वयं एक वस्तु है। इसके अलावा आपको मॉड्यूल को सही तरीके से नामित करना चाहिए - डिफ़ॉल्ट कोड शैली मार्गदर्शिका कहती है कि मॉड्यूल सभी विशेष वर्णों के साथ सभी लोअरकेस होना चाहिए। उदाहरण के लिए re
या urllib
की तरह। आर्ग के लिए
धन्यवाद पहले से ही! मैंने अपना आयात सही किया और अब से मॉड्यूल लोअरकेस रखेंगे। बड़े मॉड्यूल को प्रभावी ढंग से प्रबंधित किए बिना उन्हें कैसे नियंत्रित/संपादित किया जाएगा? – Jasper
बड़े मॉड्यूल से आपका क्या मतलब है? कोड की 3k लाइनें एक बड़ा मॉड्यूल है? इस तरह के एक मॉड्यूल में कई कक्षाएं हो सकती हैं। आप 'Java' /' C++ 'की तुलना में अजगर में बहुत अधिक कोड कर सकते हैं, इसलिए मॉड्यूल पर एकाधिक कक्षाओं को रखने का मतलब यह नहीं है कि यह बड़ा है। – gruszczy