यदि आप नहीं चाहते हैं कि from __future__ import print_function
आप निम्न कार्य कर सकते हैं:
a = 100
b = True
print a if b else "", # Note the comma!
print "see no new line"
कौन सा प्रिंट:
100 see no new line
यदि आप from __future__ import print_function
3 या बाद के पायथन का उपयोग नहीं कर रहे हैं या उससे प्रभावित नहीं हैं:
from __future__ import print_function
a = False
b = 100
print(b if a else "", end = "")
अपने कोड को सिंटैक्टली रूप से सही बनाने के लिए आपको केवल एक और परिवर्तन करना होगा, आपको सशर्त अभिव्यक्ति ("यदि अन्य ब्लॉक करता है") के लिए अन्य की आवश्यकता है
कारण मैं का उपयोग नहीं किया None
या 0
की तरह धागे में अन्य लोगों का इस्तेमाल किया है, क्योंकि उपयोग कर रहा है None/0
करने के लिए कार्यक्रम का कारण होता है print None
या print 0
ऐसे मामलों में जहां में b
है False
।
यदि आप इस विषय के बारे में पढ़ना चाहते हैं तो मैंने एक लिंक शामिल किया है पैच के लिए जारी किए गए नोट्स का कि यह सुविधा पायथन में जोड़ी गई थी।
उपरोक्त 'पैटर्न' PEP 308 में दिखाए गए पैटर्न के समान है:
यह वाक्यविन्यास अजीब और पीछे की ओर लग सकता है; क्यों हालत अभिव्यक्ति के बीच में नहीं जाती है, और सी के सामने की तरह नहीं है? x: y? मानक पुस्तकालय में मॉड्यूल में नए सिंटैक्स को लागू करने और परिणामी कोड को पढ़ने के तरीके को देखकर निर्णय की जाँच की गई। कई मामलों में जहां एक सशर्त अभिव्यक्ति का उपयोग किया जाता है, एक मान 'सामान्य मामला' लगता है और एक मान एक 'असाधारण मामला' है, जिसका उपयोग केवल दुर्लभ अवसरों पर किया जाता है जब शर्त पूरी नहीं होती है। सशर्त सिंटैक्स इस पैटर्न को थोड़ा और स्पष्ट करता है:
सामग्री = ((doc + '\ n') यदि doc और '')
इसलिए मुझे लगता है कि कुल मिलाकर यह अनुमोदन करने का एक उचित तरीका है, लेकिन आप सरलता के साथ बहस नहीं कर सकते:
if logging: print data