পর্ব ১২: পাইথন ফাংশন | Python Functions (def, return, parameter, argument)

🔍 ফাংশন (Function) কী?

ফাংশন হলো এমন একটি কোড ব্লক, যা নির্দিষ্ট কাজ সম্পন্ন করে এবং প্রয়োজনে বারবার ব্যবহার করা যায়।
অর্থাৎ, একবার ফাংশন লিখে রাখলে, পরে তা অনেক জায়গায় ডাকা (call) করে ব্যবহার করা যায়।

👉 উদাহরণস্বরূপ, যদি তুমি বারবার একই কোড ব্যবহার করতে চাও —
তাহলে সেটাকে ফাংশনের মধ্যে রাখো, এবং শুধু নাম ধরে ডাকো! 🔔


⚙️ ফাংশন ডিফাইন (Define) ও কল (Call) করা

পাইথনে ফাংশন তৈরি করতে ব্যবহার করা হয় def কীওয়ার্ড।

📘 উদাহরণ:

📤 আউটপুট:


🔡 ফাংশনে প্যারামিটার (Parameter) ব্যবহার

তুমি চাইলে ফাংশনে ইনপুট ভ্যালু (Parameter) পাঠাতে পারো।

📘 উদাহরণ:

📤 আউটপুট:


🔁 একাধিক প্যারামিটার

তুমি একাধিক ইনপুটও পাঠাতে পারো —

📘 উদাহরণ:

📤 আউটপুট:


🎯 return স্টেটমেন্ট

return দিয়ে কোনো ফাংশন থেকে মান ফেরত পাঠানো যায়।
এভাবে ফাংশন কোনো মান গণনা করে রিটার্ন করতে পারে।

📘 উদাহরণ:

📤 আউটপুট:


⚡ ডিফল্ট প্যারামিটার মান (Default Parameter Value)

যদি কোনো প্যারামিটার না পাঠানো হয়, তবে ডিফল্ট মান ব্যবহার করা যায়।

📘 উদাহরণ:

📤 আউটপুট:


🔢 কীওয়ার্ড আর্গুমেন্ট (Keyword Arguments)

প্যারামিটারগুলিকে নাম দিয়ে মান পাঠানো যায়।

📘 উদাহরণ:

📤 আউটপুট:


🧮 *args এবং **kwargs (Variable Arguments)

যদি তুমি জানো না কতগুলো আর্গুমেন্ট পাঠানো হবে, তাহলে ব্যবহার করতে পারো —

  • *args → টিউপল আকারে মান নেয়
  • **kwargs → ডিকশনারি আকারে মান নেয়

📘 উদাহরণ ১ (*args):

📤 আউটপুট:

📘 উদাহরণ ২ (**kwargs):

📤 আউটপুট:


🧠 ফাংশন থেকে ফাংশন কল (Nested Function)

একটি ফাংশনের ভিতর থেকে অন্য ফাংশন ডাকা যায়।

📘 উদাহরণ:

📤 আউটপুট:


💡 ফাংশনের সুবিধা

✅ কোড পুনঃব্যবহারযোগ্য (Reusable)
✅ কোড ছোট ও পরিষ্কার হয়
✅ ডিবাগ করা সহজ হয়
✅ প্রোগ্রাম মডুলার হয়


⚙️ অ্যানোনিমাস ফাংশন (Lambda Function)

ছোট ফাংশনের জন্য ব্যবহার হয় lambda কীওয়ার্ড।

📘 উদাহরণ:

📤 আউটপুট:


🧩 বাস্তব উদাহরণ

📘 উদাহরণ:

📤 আউটপুট:


🏁 উপসংহার

এখন তুমি জানো —
🔹 ফাংশন কী এবং কেন দরকার
🔹 কিভাবে ফাংশন ডিফাইন, কল ও রিটার্ন করতে হয়
🔹 *args, **kwargs এবং lambda function এর ব্যবহার