मेरे पास एक दिनचर्या है जो पैरामीटर के रूप में तारों की एक सूची लेती है, लेकिन मैं एक स्ट्रिंग में गुजरने और इसे एक स्ट्रिंग की सूची में बदलने का समर्थन करना चाहता हूं। उदाहरण के लिए:मैं कैसे बता सकता हूं कि एक अजगर चर एक स्ट्रिंग या एक सूची है या नहीं?
def func(files):
for f in files:
doSomethingWithFile(f)
func(['file1','file2','file3'])
func('file1') # should be treated like ['file1']
मेरा कार्य कैसे बता सकता है कि कोई स्ट्रिंग या सूची पारित की गई है या नहीं? मुझे पता है कि type
फ़ंक्शन है, लेकिन क्या वहां "अधिक पायथनिक" तरीका है?
निश्चित रूप से अधिक "स्पष्ट" विधि उपयोगकर्ता को सूची में सिंगल-फ़ाइल पास करने की आवश्यकता होगी? Func की तरह (['file1']) – dbr
मैं सहमत हूं कि यह स्पष्ट है, लेकिन मुझे नहीं लगता कि यह और अधिक स्पष्ट कैसे है। दोनों तकनीकें एक ही तर्क का उपयोग करती हैं; एक दूसरे के विपरीत है। मुझे लगता है कि उपरोक्त थोड़ा अधिक अंतर्ज्ञानी है, क्योंकि यह जोर देता है कि सूची में फ़ाइलों की सूची में फाइलें स्वयं func के लिए प्रासंगिक है। –