कोई फर्क नहीं पड़ता। वे दोनों बिल्कुल वही काम करते हैं।
हालांकि, एक स्टाइलिस्ट परिप्रेक्ष्य से, एक दूसरे की तुलना में अधिक बेहतर हो सकता है। और उस नोट पर, PEP-8 for imports का कहना है कि आप एक ही लाइन पर from module import name1, name2
सेक और एकाधिक पंक्तियों में import module1
छोड़ देना चाहिए:
Yes: import os
import sys
No: import sys, os
Ok: from subprocess import Popen, PIPE
@ teewuane की टिप्पणी (यहाँ दोहराया मामले में टिप्पणी को हटा दिया जाता है) के जवाब में:
@ इंस्पेक्टर G4dget क्या होगा यदि आपको मॉड्यूल से कई फ़ंक्शन आयात करना है और यह उस पंक्ति को 80 से अधिक लंबा बना देता है? मुझे पता है कि 80 चार चीजें "जब यह कोड को और अधिक पठनीय बनाता है" लेकिन मैं अभी भी सोच रहा हूं कि ऐसा करने के लिए एक और अधिक आसान तरीका है या नहीं। और मैं foo आयात से नहीं करना चाहता हूं * भले ही मैं मूल रूप से सबकुछ आयात कर रहा हूं।
यहां मुद्दा यह है कि ऐसा कुछ कर रही वर्ण सीमा 80 पार कर सकते हैं निम्नलिखित:
from module import func1, func2, func3, func4, func5
इस के लिए
, मैं दो प्रतिक्रियाओं है (मैं PEP8 इस बारे में बहुत ज्यादा स्पष्ट किया जा रहा है नहीं दिख रहा है) :
तोड़ इसे दो आयात में:
from module import func1, func2, func3
from module import func4, func5
ऐसा करने से नुकसान होता है कि अगर module
को कोडबेस से हटा दिया गया है या अन्यथा रिफैक्टर किया गया है, तो दोनों आयात लाइनों को हटा दिया जाना चाहिए। इस दर्दनाक होने की
स्प्लिट लाइन साबित हो सकता है:
ऊपर चिंता को कम करने के लिए, यह
from module import func1, func2, func3, \
func4, func5
यह एक त्रुटि में परिणाम होगा अगर दूसरी पंक्ति है ऐसा करने के लिए समझदार हो सकता है पहले के साथ हटाया नहीं गया है, जबकि अभी भी एकवचन आयात विवरण
पहले कभी तो थोड़ा तेज दुभाषिया कार्यान्वयन पर निर्भर करता है हो सकता है, मुझे लगता है, लेकिन मैं नहीं कर सकता वास्तव में किसी अन्य तरीके से सोचें कि वे एक भाषा उपयोगकर्ता के परिप्रेक्ष्य से अलग होंगे। –