2017-02-21 5 views
7

अगर मैं इस तरह एक निर्माण किया है:यह देखने के लिए सबसे अधिक पाइथनिक तरीका क्या है कि एकाधिक चर कोई नहीं हैं?

def foo(): 
    a=None 
    b=None 
    c=None 

    #...loop over a config file or command line options... 

    if a is not None and b is not None and c is not None: 
     doSomething(a,b,c) 
    else: 
     print "A config parameter is missing..." 

अजगर में पसंदीदा वाक्य रचना सभी चर उपयोगी मूल्यों की तैयारी में हैं, तो जाँच करने के लिए क्या है? क्या मैंने लिखा है, या एक और बेहतर तरीका है?

यह इस प्रश्न से अलग है: not None test in Python ... मैं यह जांचने के लिए पसंदीदा तरीका ढूंढ रहा हूं कि कई स्थितियां कोई नहीं हैं या नहीं। मैंने जो विकल्प टाइप किया है वह बहुत लंबा और गैर-पायथनिक लगता है।

+2

[अजगर में नहीं कोई भी परीक्षण] (के संभावित डुप्लिकेट http://stackoverflow.com/ प्रश्न/3 9 65104/नहीं-कोई-परीक्षण-इन-पायथन) – schwobaseggl

+0

मैं चार चरों की जांच कर रहा हूं और साथ ही, आपके द्वारा पोस्ट किए गए स्पष्ट समाधान को बहुत ही पागल नहीं है। मुझे जवाब की कमी से निष्कर्ष निकालना है कि वहां "अच्छा" तरीका प्रतीत नहीं होता है। – wedi

+2

@schwobaseggl: नहीं, यह एक डुप्लिकेट नहीं है क्योंकि सवाल यह नहीं है कि किसी के लिए जांच कैसे करें। यह कई चरों की जांच करते समय इसे "अधिक पाइथनिक" बनाने के बारे में है, लेकिन डैनियल रोज़मन द्वारा प्रस्तावित समाधान को सुधारने के लिए बहुत से लोग नहीं हैं। – wedi

उत्तर

15

आप जिस तरह से कर रहे हैं उसके साथ कुछ भी गलत नहीं है।

आप चर का एक बहुत है, तो आप एक सूची में डाल और प्रयोग all सकता है:

if all(v is not None for v in [A, B, C, D, E]): 
+0

धन्यवाद! यकीन नहीं है कि मैं इसे एक उत्तर के रूप में क्यों स्वीकार नहीं कर सकता, लेकिन बहुत उपयोगी है –

संबंधित मुद्दे

 संबंधित मुद्दे