2010-09-15 15 views
8

कुछ relatedquestions सिंगल-वैल्यू टुपल्स को अनपॅक करने के बारे में कुछ हैं, लेकिन मैं जानना चाहता हूं कि कोड साझा करने और बनाए रखने के लिए पठनीयता के मामले में कोई पसंदीदा तरीका है या नहीं। मैं इन्हें सहकर्मियों के बीच भ्रम या गलत तरीके से स्रोत के रूप में ढूंढ रहा हूं, जब उनमें एक ओआरएम क्वेरी जैसी लंबी कार्य श्रृंखला शामिल होती है।सिंगल वैल्यू टुपल को अनपॅक करने के लिए पठनीय सम्मेलन

क्या इसके लिए pep8 दिशानिर्देशों के समान कुछ सम्मेलन है? यदि नहीं, तो यह करने के लिए सबसे स्पष्ट, सबसे पठनीय तरीका कौन सा है?

नीचे दिए गए तरीके हैं, और उन पर मेरे विचार।

दो आम तरीकों कि स्वच्छ लेकिन आसान कर रहे हैं याद आती है:

value, = long().chained().expression().that().returns().tuple() 

value = long().chained().expression().that().returns().tuple()[0] 

एक समारोह स्पष्ट होगा, लेकिन गैर मानक:

value = unpack_tuple(long().chained().expression().that().returns().tuple()) 

शायद हमेशा सबसे स्पष्ट होगा टिप्पणी?

# unpack single-value tuple 
value, = long().chained().expression().that().returns().tuple() 

उत्तर

21

स्पष्ट ब्रांड्स का उपयोग करने के बारे में यह इंगित करने के लिए कि आप एक टुपल को अनपॅक कर रहे हैं?

(value,) = long().chained().expression().that().returns().tuple() 

सभी explicit is better than implicit के बाद।

+0

मुझे आपकी सोच पसंद है –

+0

अच्छी तरह से स्पष्ट – Rod

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