मैं एक पायथन मॉड्यूल लिख रहा हूं जिसका उद्देश्य एक डेटा संरचना निर्यात करना है। मेरा मानना है कि इसका मतलब है कि मेरे मॉड्यूल को एक ही प्रतीक (उदा। foo
) निर्यात करना चाहिए, इसके सभी अन्य प्रतीक अंडरस्कोर-प्रीफिक्स्ड हैं।निर्यात किए गए प्रतीकों को सीमित करने के लिए पाइथन मॉड्यूल को कैसे व्यवस्थित किया जाए?
डेटा संरचना उत्पन्न करना उचित मात्रा में कोड लेता है - इस मॉड्यूल को बिना किसी उपसर्ग के निर्यात किए जाने के लिए मॉड्यूल को कैसे बनाए रखना चाहिए? दो संभव तरीके हैं:
शीर्ष-स्तर पर पीढ़ी कोड रखो, उपयोग करने के लिए सावधान किया जा रहा वाले अंडरस्कोर भर में, उदाहरण के लिए:
_bar = ... for _i in ...: _bar.append(...) foo = [_bar, ...]
एक समारोह जो डेटा रिटर्न के भीतर पीढ़ी कोड रखो संरचना। अंडरस्कोर का उपयोग करने के लिए केवल फ़ंक्शन नाम की आवश्यकता होती है। उदाहरण के लिए:
def _generate_foo(): bar = ... for i in ...: bar.append(...) return [bar, ...] foo = _generate_foo()
इन तरीकों बेहतर माना के दोनों है? या, क्या इस मॉड्यूल को बनाने के लिए एक और तरीका है जिसे प्राथमिकता दी जाएगी?
मुझे दूसरा पढ़ने में आसान लगता है, हालांकि आप उनमें से किसी एक का उपयोग कर सकते हैं, लेकिन केवल सुसंगत रहें। –