print দিয়ে দেখা, কমেন্ট দিয়ে বোঝানো
print কীভাবে একাধিক জিনিস ছাপে, sep আর end দিয়ে সেটা কীভাবে বদলানো যায়, আর কমেন্ট কেন লেখা হয় — প্রোগ্রামের ভেতরে দেখার প্রথম হাতিয়ার।
- 1সমস্যা
- 2বোঝা
- 3উদাহরণ
- 4অনুমান
- 5নিজে করা
- 6কঠিন করা
যে সমস্যাটা আমরা সমাধান করছি
আপনি একটা প্রোগ্রাম লিখলেন। চালালেন। টার্মিনাল কিছুই বলল না।
প্রোগ্রামটা কাজ করেছে? মাঝপথে থেমে গেছে? ভেতরে হিসাবটা কী দাঁড়িয়েছে? কিছুই জানার উপায় নেই। কারণ কম্পিউটার নিজে থেকে কিছু বলে না — যা দেখতে চান, বলে দিতে হয়।
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কোটেশনের ভেতরে থাকলে সেটা লেখা (টেক্সট), আর + তখন যোগ করে না — জোড়া লাগায়। কোটেশনের বাইরে থাকলে সেটা সংখ্যা, আর + তখন সত্যিই যোগ করে।
এই পার্থক্যটাই পরের মিশনগুলোর ভিত্তি, আর শুরুর দিকের অর্ধেক ত্রুটির কারণও এটাই। এখন শুধু চোখে ধরে রাখুন: কোটেশন আছে মানে লেখা।
কমেন্ট — যে লাইনগুলো পাইথন পড়েই না
# চিহ্নের পর থেকে লাইনের শেষ পর্যন্ত পাইথন পুরোপুরি উপেক্ষা করে:
# 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"=" * 24 লাইনটা খেয়াল করুন — লেখার সাথে সংখ্যা গুণ করলে পাইথন সেটা ততবার পাশাপাশি বসায়। লাইন টানার জন্য ২৪টা সমান চিহ্ন হাতে টাইপ করার দরকার নেই।
কিছু ভাঙা অবস্থা ও তার সমাধান
SyntaxError: unterminated string literal কোটেশন একটা খুলে বন্ধ করা হয়নি। print("Hello) লিখলে এটা হয়। শুরুর আর শেষের কোটেশন গুনে দেখুন।
লেখার ভেতরেই কোটেশন দরকার বাইরে এক রকম, ভেতরে আরেক রকম কোটেশন দিন: print("It's working") অথবা print('She said "yes"')।
print "Hello" লিখলে SyntaxError এটা পাইথন ২-এর পুরনো নিয়ম। পাইথন ৩-এ print একটা ফাংশন, তাই বন্ধনী লাগবে: print("Hello")। পুরনো টিউটোরিয়াল বা উত্তর দেখলে এই ভুলটা চলে আসে।
sep বা end-এর মান কোটেশন ছাড়া দেওয়া print("a", "b", sep=-) চলবে না। sep আর end সব সময় লেখা নেয়: sep="-"।
কমেন্ট কোন ভাষায় লিখব? পাইথন বাংলা কমেন্ট মেনে নেয়, কিন্তু এই কোর্সে সব কোড — কমেন্ট, ভেরিয়েবলের নাম, ফাইলের নাম — ইংরেজিতে লেখা। কারণটা ব্যাখ্যা নয়, বাস্তবতা: আপনার কোড যে টিমে যাবে, সেখানে সবাই বাংলা পড়তে পারবে না, আর ত্রুটির বার্তা, ডকুমেন্টেশন, সহায়তার উত্তর — সবই ইংরেজিতে। ব্যাখ্যা বাংলায়, কোড ইংরেজিতে — এই ভাগটাই আমরা সব মিশনে রাখব।
ধাপ ৪ / ৬ — অনুমান
যাচাই করুন
এই তিন লাইন চালালে টার্মিনালে ঠিক কী দেখা যাবে?
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 23
- B5 5
- C23 23
- D5, তারপর ত্রুটি — লেখার সাথে `+` ব্যবহার করা যায় না
এই প্রোগ্রামটি কী ছাপবে, আর কেন?
price = 250
# price = 400
print("Price:", price)- A`Price: 250` — দ্বিতীয় লাইনটি কমেন্ট, পাইথন সেটি পড়েই না
- B`Price: 400` — পরের মানটিই শেষমেশ থাকে
- C`Price: 250` তারপর `Price: 400` — দুটো লাইনই চলে
- Dত্রুটি — একই ভেরিয়েবলে দুবার মান বসানো যায় না
উত্তর দিতে অ্যাকাউন্ট লাগবে
উত্তর মিলিয়ে দেখতে সাইন ইন করুন
প্রশ্নগুলো উপরে আছে, আর মাথায় মাথায় উত্তর ভেবে নেওয়াই আসল কাজ। সঠিক উত্তর, ব্যাখ্যা আর তিন ধাপের ইঙ্গিত দেখতে সাইন ইন করুন।
নিজে করুন
profile.py নামে একটা ফাইল লিখুন, যেটি ঠিক এই আউটপুট দেয়:
------------------------
NAME : Rafi
ROLE : Python learner
------------------------
Age next year: 23শর্ত তিনটি:
- উপরের আর নিচের লাইনটি হাতে ২৪টা ড্যাশ টাইপ করে নয়, গুণ করে বানাতে হবে
NAME : RafiআরROLE : Python learnerলাইনদুটিতেsepব্যবহার করতে হবেAge next yearলাইনে সংখ্যাটা আপনি হাতে লিখবেন না — যোগ করে বের করবেন, যেমন22 + 1
আর ফাইলের প্রথম লাইনে একটা কমেন্ট রাখুন, যেটা বলবে ফাইলটা কেন আছে — কী করছে তা নয়।
এই মিশনে আরও কিছু আছে
উপরে যা পড়েছেন সেটাই সম্পূর্ণ মিশন — কিছু কেটে রাখা হয়নি। প্রো এর সাথে যোগ করে:
- ভেতরে আসলে কী ঘটে — পাইথন কীভাবে এটা চালায়
- অনুশীলনীর সম্পূর্ণ সমাধান, ধাপে ধাপে ব্যাখ্যাসহ
- কঠিন অতিরিক্ত অনুশীলনী
- এই বিষয়ে ইন্টারভিউতে যা জিজ্ঞেস করা হয়, আর তার আদর্শ উত্তর
ধাপ ৬ / ৬
কঠিন করা — অধ্যায়ের কুইজ
সহজ থেকে কঠিন — দশটি প্রশ্ন, শেষেরগুলো ইচ্ছে করেই কঠিন।
সাইন ইন করে কুইজ দিন