print से देखना, कमेंट से समझाना
print एक साथ कई चीज़ें कैसे प्रिंट करता है, sep और end इसे कैसे बदलते हैं, और कमेंट क्यों लिखे जाते हैं — चलते हुए प्रोग्राम के अंदर देखने का पहला टूल।
आप कैसे सीखना चाहते हैं?
वह समस्या जिसे हम हल कर रहे हैं
आपने एक प्रोग्राम लिखा। चलाया। टर्मिनल ने कुछ नहीं कहा।
प्रोग्राम ने काम किया? बीच में रुक गया? अंदर कैलकुलेशन का रिज़ल्ट क्या निकला? जानने का कोई तरीका नहीं। क्योंकि कंप्यूटर खुद से कुछ नहीं बताता — जो देखना है, वह बताने के लिए कहना पड़ता है।
print वही कहने का तरीका है। शुरुआत में यही आपकी एकमात्र खिड़की है: प्रोग्राम कहां तक पहुंचा, किस वेरिएबल में क्या है, कैलकुलेशन ने क्या दिया। अनुभवी डेवलपर भी डीबगर पास होने के बावजूद दिन में कई बार print लगाकर देखते हैं — इसमें कुछ गलत नहीं, यह काम का हिस्सा है।
इस अध्याय के अंत तक आप कर पाएंगे
- एक
printमें कई चीज़ें प्रिंट करना, और उनके बीच की जगह को कंट्रोल करना sepऔरendसे आउटपुट का रूप बदलना- स्ट्रिंग (टेक्स्ट) और नंबर का फ़र्क़ पहचानना —
"2" + "3"और2 + 3अलग क्यों हैं - कमेंट लिखना, और समझना कि कौन सा कमेंट सच में काम का है
पहले से क्या आना चाहिए: टर्मिनल, फ़ोल्डर और आपका पहला प्रोजेक्ट।
print एक से ज़्यादा चीज़ें ले सकता है
कॉमा लगाकर जितनी चाहें उतनी चीज़ें दें, print सबको एक ही लाइन में प्रिंट करेगा:
print("Order", 7, "confirmed")Order 7 confirmedध्यान दें, आपने कहीं स्पेस नहीं लिखा — फिर भी शब्दों के बीच एक-एक स्पेस आया है। कॉमा से दी गई हर चीज़ के बीच print खुद एक स्पेस डालता है।
और हर print के आखिर में वह नई लाइन पर चला जाता है:
print("line one")
print("line two")line one
line twoखाली print() लिखें तो सिर्फ़ एक खाली लाइन आती है — लंबे आउटपुट को हिस्सों में बांटकर दिखाने का आसान तरीका।
sep — बीच की जगह आपकी पसंद से
वह स्पेस पसंद न हो तो बदल दें:
print("2026", "09", "10", sep="-")
print("home", "user", "notes.txt", sep="/")
print("a", "b", "c", sep="")2026-09-10
home/user/notes.txt
abcend — लाइन के आखिर में क्या होगा
print डिफ़ॉल्ट रूप से लाइन के आखिर में नई लाइन पर जाता है। इसे भी बदला जा सकता है:
print("Loading", end="")
print(".", end="")
print(".", end="")
print(". done")Loading... doneचार अलग print, लेकिन आउटपुट एक ही लाइन — क्योंकि पहले तीन को कहा गया है कि लाइन के आखिर में कुछ न डालें।
स्ट्रिंग और नंबर एक चीज़ नहीं हैं
ये दो लाइनें देखने में लगभग एक जैसी हैं, लेकिन रिज़ल्ट अलग है:
print(2 + 3)
print("2" + "3")5
23कोट्स के अंदर हो तो वह स्ट्रिंग (टेक्स्ट) है, और तब + जोड़ता (add) नहीं — आपस में चिपकाता है। कोट्स के बाहर हो तो वह नंबर है, और तब + सच में जोड़ता है।
यही फ़र्क़ आगे के अध्यायों की नींव है, और शुरुआत के आधे एरर की वजह भी यही है। अभी बस यह याद रखें: कोट्स हैं मतलब स्ट्रिंग।
कमेंट — वे लाइनें जिन्हें पायथन पढ़ता ही नहीं
# के बाद से लाइन के आखिर तक पायथन सब कुछ पूरी तरह नज़रअंदाज़ करता है:
# Friday delivery report
total = 12 + 8
print("Total:", total) # the sum shown at the bottom of the reportTotal: 20कमेंट से प्रोग्राम के चलने पर कोई असर नहीं पड़ता। वे इंसानों के लिए हैं — आपके साथी के लिए, और तीन महीने बाद के आप के लिए, जो तब तक सब भूल चुके होंगे।
*अच्छा कमेंट बताता है क्यों, क्या नहीं।* कोड क्या कर रहा है, यह कोड देखकर ही समझ आता है:
# Weak: repeats what the code already says
count = count + 1 # add 1 to count
# Useful: gives the reason, which the code cannot show
count = count + 1 # the header row was counted too, so shift by oneऊपर वाला पहला कमेंट पढ़कर कुछ नया पता नहीं चलता — लाइन देखकर ही समझ आ रहा है कि एक जोड़ा जा रहा है। दूसरा बताता है कि एक क्यों जोड़ा जा रहा है, जो कोड देखकर समझने का कोई तरीका नहीं।
सीखते समय कमेंट का एक और काम है — किसी लाइन को कुछ देर के लिए बंद करके देखना कि प्रोग्राम कैसे चलता है:
print("first")
# print("second")
print("third")first
thirdएक पूरा उदाहरण
report.py नाम की फ़ाइल बनाकर चलाएं:
# A small sales report
print("=" * 24)
print("SALES REPORT")
print("=" * 24)
print("Items sold:", 3 + 5 + 2)
print("Revenue:", 3 * 120 + 5 * 90 + 2 * 250)
print()
print("Prepared by", "Rafi", sep=": ")========================
SALES REPORT
========================
Items sold: 10
Revenue: 1310
Prepared by: Rafiआउटपुट में Revenue: 1310 के बाद वाली खाली लाइन पर ध्यान दें — वह खाली print() से आई है। रिपोर्ट का आखिरी हिस्सा इस तरह अलग करके दिखाया गया है।
"=" * 24 वाली लाइन पर भी ध्यान दें — स्ट्रिंग को नंबर से गुणा करें तो पायथन उसे उतनी बार साथ-साथ लिख देता है। लाइन खींचने के लिए 24 बराबर के निशान हाथ से टाइप करने की ज़रूरत नहीं।
जब कुछ टूट जाए
SyntaxError: unterminated string literal एक कोट खोला गया पर बंद नहीं किया गया। print("Hello) लिखने पर ऐसा होता है। शुरू और आखिर के कोट्स गिनकर देखें।
स्ट्रिंग के अंदर ही कोट चाहिए बाहर एक तरह के और अंदर दूसरी तरह के कोट्स इस्तेमाल करें: print("It's working") या print('She said "yes"')।
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)? print "Hello" लिखने पर यह आता है। यह पायथन 2 का पुराना नियम है। पायथन 3 में print एक फ़ंक्शन है, इसलिए ब्रैकेट चाहिए: print("Hello")। पुराने ट्यूटोरियल या जवाब देखने पर यह गलती अक्सर हो जाती है।
sep या end की वैल्यू बिना कोट्स के देना print("a", "b", sep=-) लिखने पर SyntaxError: invalid syntax आता है। sep और end हमेशा स्ट्रिंग लेते हैं: sep="-"।
कमेंट किस भाषा में लिखें? पायथन किसी भी भाषा का कमेंट मान लेता है — # के बाद जो भी लिखें, पायथन उसे पढ़ता ही नहीं। लेकिन जो कोड दूसरों के साथ शेयर होगा या काम में इस्तेमाल होगा, उसमें कमेंट अंग्रेज़ी में लिखें। वजह व्यावहारिक है: आपका कोड जिस टीम में जाएगा, वहां हर कोई आपकी भाषा नहीं पढ़ पाएगा, और एरर मैसेज, डॉक्यूमेंटेशन, ऑनलाइन मिलने वाले जवाब — सब अंग्रेज़ी में हैं। इसीलिए इस कोर्स में सारा कोड — कमेंट, वेरिएबल के नाम, फ़ाइलों के नाम — अंग्रेज़ी में है, और सिर्फ़ समझाने वाला हिस्सा आपकी भाषा में।
चरण 4 / 6 — अनुमान
अपनी समझ की जाँच करें
ये तीन लाइनें चलाने पर टर्मिनल में ठीक-ठीक क्या दिखेगा?
print("a", "b", "c", sep="-")
print("x", end=" ")
print("y")- Aa-b-c x y
- Ba-b-c x y
- Cabc x y
- Da-b-c x y
दोनों लाइनें + इस्तेमाल कर रही हैं। आउटपुट क्या होगा?
print(2 + 3)
print("2" + "3")- A5, फिर एरर — स्ट्रिंग के साथ `+` इस्तेमाल नहीं कर सकते
- B5 5
- C5 23
- D23 23
यह प्रोग्राम क्या प्रिंट करेगा, और क्यों?
price = 250
# price = 400
print("Price:", price)- A`Price: 400` — बाद वाली वैल्यू ही आखिर में रहती है
- Bएरर — एक ही वेरिएबल को दो बार वैल्यू नहीं दी जा सकती
- C`Price: 250` — दूसरी लाइन कमेंट है, पायथन उसे पढ़ता ही नहीं
- D`Price: 250` फिर `Price: 400` — दोनों लाइनें चलती हैं
उत्तर देने के लिए अकाउंट आवश्यक है
अपने उत्तर जाँचने के लिए साइन इन करें
प्रश्न ऊपर दिए गए हैं, और मन में उत्तर सोचना ही मुख्य कार्य है। सही उत्तर, व्याख्या और तीन-स्तरीय संकेत देखने के लिए साइन इन करें।
आपकी बारी
profile.py नाम की एक फ़ाइल लिखें, जो ठीक यही आउटपुट दे:
------------------------
NAME : Rafi
ROLE : Python learner
------------------------
Age next year: 23तीन शर्तें:
- ऊपर और नीचे की लाइन 24 डैश हाथ से टाइप करके नहीं, गुणा करके बनानी है
NAME : RafiऔरROLE : Python learnerवाली लाइनों मेंsepइस्तेमाल करना हैAge next yearवाली लाइन में नंबर आप हाथ से नहीं लिखेंगे — जोड़कर निकालेंगे, जैसे22 + 1
और फ़ाइल की पहली लाइन में एक कमेंट रखें, जो बताए कि यह फ़ाइल क्यों है — यह नहीं कि वह क्या करती है।
इस मिशन में और भी है
ऊपर आपने जो पढ़ा वही पूरा मिशन है — उसमें से कुछ नहीं काटा गया। प्रो इसमें जोड़ता है:
- भीतर वास्तव में क्या होता है — पायथन इसे कैसे निष्पादित करता है
- अभ्यास का संपूर्ण समाधान, चरण-दर-चरण स्पष्टीकरण के साथ
- कठिन अतिरिक्त अभ्यास
- इस विषय पर साक्षात्कार में क्या पूछा जाता है और उसका आदर्श उत्तर
चरण 6 / 6
चुनौती — अध्याय की क्विज़
सरल से कठिन — दस प्रश्न, अंतिम वाले जानबूझकर चुनौतीपूर्ण बनाए गए हैं।
क्विज़ देने के लिए साइन इन करें