मुख्य सामग्री पर जाएँ

Python में बिना नई पंक्ति के प्रिंट: जो आपको जानना चाहिए

Python के print आउटपुट को नियंत्रित करें ताकि स्वतः नई पंक्तियाँ न जुड़ें। end पैरामीटर, sys मॉड्यूल, और स्ट्रिंग संयोजन का उपयोग करके डिफ़ॉल्ट newline व्यवहार को ओवरराइड करना सीखें।
· 7 मि॰ पढ़ें

AI के साथ खोजें

Python में print() फ़ंक्शन आमतौर पर कंसोल में आउटपुट दिखाने के लिए उपयोग किया जाता है। डिफ़ॉल्ट रूप से, Python का print() फ़ंक्शन अपने आउटपुट के अंत में एक newline कैरेक्टर जोड़ता है, जिससे अगला आउटपुट नई पंक्ति में शुरू होता है। 

हालाँकि कुछ स्थितियों में यह व्यवहार उपयोगी है, ऐसे मामले समझना महत्वपूर्ण है जहाँ आप बिना नई पंक्ति जोड़े आउटपुट प्रिंट करना चाहते हैं। इस ट्यूटोरियल में, हम end पैरामीटर, sys मॉड्यूल, और स्ट्रिंग संयोजन का उपयोग करके बिना नई पंक्ति जोड़े प्रिंट करना सीखेंगे।

शुरू करने से पहले, मैं DataCamp का Introduction to Python कोर्स लेने की सलाह देता/देती हूँ ताकि आप डेटा साइंस और एनालिसिस के लिए Python की बुनियादी बातें सीख सकें। साथ ही हमारा A Comprehensive Guide on How to Line Break in Python ट्यूटोरियल भी देखें, जिसमें इसके विपरीत व्यवहार के बारे में बताया गया है—यानी स्ट्रिंग्स और print() स्टेटमेंट्स में लाइन ब्रेक जोड़ने के लिए \n का उपयोग।

Python में बिना नई पंक्ति के कैसे प्रिंट करें

Python में बिना नई पंक्ति जोड़े प्रिंट करने के लिए आप print() फ़ंक्शन में end पैरामीटर का उपयोग कर सकते हैं। यदि आप end पैरामीटर को खाली स्ट्रिंग पर सेट करते हैं, तो आउटपुट उसी पंक्ति में जारी रहता है।

# Print without newline
print("Hello", end=" ")
print("World", end=" ")
Hello World

ध्यान दें कि यहाँ हम दो print() फ़ंक्शन्स का उपयोग कर रहे हैं। यह शुरुआती लोगों को असामान्य लग सकता है, लेकिन यह एक महत्वपूर्ण तकनीक है। हर print() कॉल अपना आउटपुट end पैरामीटर से नियंत्रित कर सकता है। इस उदाहरण में, end=” “ सेट करने से नई पंक्ति के बजाय प्रत्येक स्ट्रिंग के बाद एक स्पेस जुड़ता है, जिससे दूसरी print() स्टेटमेंट उसी पंक्ति में जारी रह पाती है।

यह तरीका विशेष रूप से तब उपयोगी है जब आपको समय के साथ कई टेक्स्ट या वेरिएबल्स प्रिंट करने हों, लेकिन आप चाहते हों कि वे सभी एक ही पंक्ति में विशिष्ट फ़ॉर्मेटिंग (जैसे बीच में स्पेस या विराम-चिह्न) के साथ दिखाई दें।

Python में बिना नई पंक्ति के प्रिंट क्यों करें?

Python में बिना नई पंक्ति के प्रिंट करने का अर्थ है आउटपुट को इस तरह नियंत्रित करना कि हर print() कॉलआउट के बाद newline कैरेक्टर \n न जुड़े। इस व्यवहार को ओवरराइड करना समझना नियंत्रित आउटपुट बनाने के लिए महत्वपूर्ण है। नीचे कुछ उदाहरण दिए गए हैं जहाँ निरंतर आउटपुट आवश्यक हो सकता है।

  • प्रोग्रेस इंडिकेटर्स: रियल-टाइम मॉनिटरिंग के लिए प्रोग्रेस अपडेट्स या प्रोग्रेस बार को निरंतर आउटपुट चाहिए।
  • लॉगिंग: लॉगिंग और मॉनिटरिंग में बेहतर पठनीयता के लिए लगातार पंक्तियों में प्रिंट करना उपयोगी है।
  • इंटरैक्टिव कंसोल एप्लिकेशन: कुछ यूज़र आउटपुट उसी पंक्ति में दिखाने से अनुभव बेहतर होता है।

यदि आप कंसोल आउटपुट को नियंत्रित करने से ध्यान हटाकर यह समझना चाहते हैं कि टेक्स्ट और फाइल्स में newline कैरेक्टर्स कैसे जोड़ें, प्रबंधित करें, और हटाएँ, तो हमारा Python New Line: Methods for Code Formatting ट्यूटोरियल देखें, जहाँ तकनीकें और उदाहरण दिए गए हैं।

नई पंक्ति के बिना प्रिंट: Python 2 बनाम Python 3

यह सुनिश्चित करने के लिए कि आप बिना नई पंक्ति जोड़े आउटपुट प्रिंट करें, आप end पैरामीटर या अन्य तरीकों का उपयोग करके print() फ़ंक्शन के डिफ़ॉल्ट व्यवहार को ओवरराइड कर सकते हैं। 

Python 3 में end पैरामीटर का उपयोग

Python संस्करण 3 में, बिना नई पंक्ति जोड़े प्रिंट करने के लिए आपको हर print() फ़ंक्शन कॉल में end पैरामीटर शामिल करना चाहिए। यदि आप end पैरामीटर को खाली स्ट्रिंग पर सेट करते हैं, तो आउटपुट उसी पंक्ति में जारी रहता है, जैसा कि नीचे दिए उदाहरण में दिखाया गया है।

आप end पैरामीटर को किसी अन्य कैरेक्टर या स्ट्रिंग पर भी सेट कर सकते हैं। नीचे का उदाहरण दिखाता है कि आउटपुट को फ़ॉर्मेट करने के लिए कई print() कॉल्स में end पैरामीटर को कैसे बदला जा सकता है।

# Print without newline
print("Hello ", end="World!")
print(" Learn DataCamp Python tutorial.")
Hello World! Learn DataCamp Python tutorial.

नीचे दिया उदाहरण end पैरामीटर को खाली स्ट्रिंग रखने का उपयोग दिखाता है ताकि नई पंक्ति के बिना प्रोग्रेस अपडेट प्रिंट किया जा सके। इस उदाहरण में, \r कर्सर को पंक्ति की शुरुआत में लौटा देता है, जिससे आउटपुट उसी जगह अपडेट हो सके।

 # Import the time module, which provides time-related functions like sleep()
import time
# Loop over a range of numbers from 1 to 5 (inclusive)
for i in range(1, 6):
    # Print a loading message with a percentage that updates on the same line
    print(f"\rLoading... {i*20}%", end="")
    # Pause the execution for 1 second to simulate a loading delay
    time.sleep(1)
print("\nDone!")
Loading... 20%
Loading... 40%
Loading... 60%
Loading... 80%
Loading... 100%
Done!

जब आप ऊपर दिया कोड किसी Python परिवेश में चलाते हैं, तो आप देखेंगे कि लोडिंग प्रतिशत हर सेकंड उसी पंक्ति पर अपडेट होता है, जिससे एक सरल प्रोग्रेस इंडिकेटर बनता है। यदि आपको ऊपर के उदाहरण जैसी फ़ंक्शन्स लिखने में मदद चाहिए, तो हमारा Writing Functions in Python देखें।

Python 2 में नई पंक्ति के व्यवहार की पड़ताल

Python 2 में print स्टेटमेंट अलग है और डिफ़ॉल्ट रूप से नई पंक्ति जोड़ता है। बिना नई पंक्ति के प्रिंट करने के लिए आप print स्टेटमेंट के अंत में कॉमा लगा सकते हैं।

# Print without newline
print "Hello",
print "World"
Hello World

इस तरीके की कमी यह है कि प्रिंट की गई आइटम्स के बीच अतिरिक्त स्पेस जुड़ जाता है, जबकि Python 3 में आप आउटपुट में जोड़े जाने वाले कैरेक्टर्स को नियंत्रित कर सकते हैं।

बिना नई पंक्ति के प्रिंट करने की अन्य Python तकनीकें

Python बिना नई पंक्ति के प्रिंट करने के लिए कुछ उन्नत तरीके भी प्रदान करता है। ये तरीके मुख्य रूप से जटिल प्रिंटिंग में आउटपुट को नियंत्रित करने के लिए उपयोग होते हैं।

end और sep पैरामीटर्स को साथ मिलाकर उपयोग करना

अधिक जटिल फ़ॉर्मेटिंग के लिए end और sep पैरामीटर्स को साथ में इस्तेमाल किया जा सकता है। ऐसे परिदृश्यों में sep पैरामीटर आमतौर पर नियंत्रित करता है कि जब कई आइटम्स print() फ़ंक्शन को पास किए जाते हैं तो उन्हें कैसे अलग किया जाए। नीचे का उदाहरण sep पैरामीटर का उपयोग करके अलग-अलग स्ट्रिंग्स को कॉमा से अलग करता है।

# Print without newline
print("Hello", "World", sep=", ", end="!")
Hello, World!

बेहतर डेटा प्रस्तुति के जरिए उपयोगकर्ता अनुभव सुधारने के लिए, जैसे टैबुलर डेटा फ़ॉर्मेट करना या प्रोग्रेस इंडिकेटर्स बनाना, end और sep पैरामीटर्स को मिलाकर उपयोग करना लाभकारी होता है।

sys मॉड्यूल का उपयोग

sys मॉड्यूल का sys.stdout.write() फ़ंक्शन बिना स्वतः नई पंक्ति जोड़े प्रिंट करने का तरीका प्रदान करता है। यह तरीका वहाँ महत्वपूर्ण होता है जहाँ आउटपुट पर सटीक नियंत्रण चाहिए, जैसे प्रोग्रेस इंडिकेटर्स बनाना और रियल-टाइम लॉगिंग दिखाना।

नीचे का उदाहरण दिखाता है कि sys मॉड्यूल का उपयोग करके बिना नई पंक्ति के कैसे प्रिंट करें। ध्यान दें कि हमने sys.stdout.flush() फ़ंक्शन का उपयोग आउटपुट बफर को मैन्युअली फ़्लश करने के लिए किया है ताकि टेक्स्ट तुरंत प्रदर्शित हो। यह तरीका लूप्स और रियल-टाइम एप्लिकेशन्स दिखाने के लिए महत्वपूर्ण है।

# Import the sys module
import sys
# Print without new line
sys.stdout.write("Hello, ")
sys.stdout.write("World!")
sys.stdout.flush()
Hello, World!

वैकल्पिक तौर पर स्ट्रिंग संयोजन

स्ट्रिंग संयोजन का उपयोग करके भी प्रिंट करने से पहले कई आउटपुट्स को जोड़ा जा सकता है, जिससे कई print() स्टेटमेंट्स की जरूरत नहीं रहती और आउटपुट्स के बीच कोई नई पंक्ति नहीं जुड़ती। नीचे दिया उदाहरण एक ही स्टेटमेंट में आउटपुट प्रिंट करने के लिए स्ट्रिंग संयोजन के इस तरीके को दिखाता है।

# Print without new line using string concatenation
output = "Hello" + " " + "World." + " Learn Python."
print(output)
Hello World. Learn Python.

निष्कर्ष

बिना नई पंक्ति के प्रिंट करना एक ही सतत पंक्ति में आउटपुट दिखाने के लिए उपयोगी है। आपके Python संस्करण के अनुसार, बिना नई पंक्ति जोड़े प्रिंट करने के लिए Python अलग-अलग तरीके प्रदान करता है।

यदि आप अपनी Python स्किल्स बेहतर बनाना चाहते हैं, तो मैं DataCamp का Python Toolbox कोर्स लेने की सलाह देता/देती हूँ, जो इटरेटर्स और लूप्स सिखाता है—जिनका उल्लेख इस लेख में किया गया था। हमारे Python Developer और Data Analyst with Python करियर ट्रैक्स आपको एक डेटा वैज्ञानिक या विश्लेषक के रूप में व्यावहारिक, नौकरी-संबंधित कौशल बनाते हुए अद्यतन रहने में मदद करेंगे।

Allan Ouko

लेखक

Allan Ouko

डेटा एनालिटिक्स, बिज़नेस इंटेलिजेंस और डेटा साइंस में व्यावहारिक अनुभव रखने वाला डेटा साइंस तकनीकी लेखक। मैं SQL, Python, Power BI, Databricks और डेटा इंजीनियरिंग पर व्यावहारिक, उद्योग-केंद्रित सामग्री लिखता/लिखती हूँ, जो वास्तविक दुनिया की एनालिटिक्स कार्य से जुड़ी होती है। मेरी लेखनी तकनीकी गहराई और व्यावसायिक प्रभाव के बीच पुल का काम करती है, जिससे पेशेवरों को डेटा को आत्मविश्वासपूर्ण निर्णयों में बदलने में मदद मिलती है. 

Python से जुड़े अक्सर पूछे जाने वाले प्रश्न

मैं Python में बिना नई पंक्ति के कैसे प्रिंट कर सकता/सकती हूँ?

आप print() फ़ंक्शन में end पैरामीटर को खाली स्ट्रिंग के साथ शामिल करके बिना नई पंक्ति जोड़े प्रिंट कर सकते हैं।

print() फ़ंक्शन का डिफ़ॉल्ट व्यवहार क्या है?

डिफ़ॉल्ट रूप से, print() फ़ंक्शन हर आउटपुट के बाद नई पंक्ति जोड़ता है।

क्या Python में बिना नई पंक्ति के प्रिंट करने की विधि Python 2 और 3 दोनों में समर्थित है?

Python 3 में, आप बिना नई पंक्ति के प्रिंट करने के लिए print() फ़ंक्शन में end पैरामीटर का उपयोग कर सकते हैं। Python 2 में, बिना नई पंक्ति के प्रिंट करने के लिए आपको print स्टेटमेंट के बाद कॉमा लगाना होगा।

Python 2 में कॉमा सेपरेटर का उपयोग करने के बाद आउटपुट में अतिरिक्त स्पेस क्यों आता है?

Python 2 में, कॉमा का उपयोग करके बिना नई पंक्ति के प्रिंट करने पर प्रिंटेड आइटम्स के बीच डिफ़ॉल्ट रूप से अतिरिक्त स्पेस जुड़ जाता है। मैं आउटपुट में जोड़े जाने वाले कैरेक्टर्स को नियंत्रित करने के लिए अन्य वैकल्पिक तरीकों का उपयोग करने की सलाह देता/देती हूँ।

क्या बिना नई पंक्ति के प्रिंट करने से प्रदर्शन प्रभावित होता है?

बिना नई पंक्ति के प्रिंट करने से प्रदर्शन पर बहुत कम प्रभाव पड़ता है। बड़े डेटा को संभालते समय बेहतर प्रदर्शन के लिए आप sys मॉड्यूल के sys.stdout.write() का उपयोग कर सकते हैं।

विषय