পাইথন ফাংশন এবং মডুলার প্রোগ্রামিং

ভূমিকা পাইথন শেখার জার্নিতে আরেকটা মজার ধাপে পৌঁছে গেছি! আজ আমরা ফাংশন (Functions) নিয়ে কথা বলব। ফাংশন হলো কোডের একটা ছোট অংশ, যেটা বারবার ব্যবহার করা যায়। এই পোস্টে আপনি শিখবেন: ফাংশন কীভাবে তৈরি এবং ব্যবহার করতে হয়। প্যারামিটার, আর্গুমেন্ট এবং রিটার্ন ভ্যালু। মডুলার প্রোগ্রামিং কেন জরুরি। পাইথনের বিল্ট-ইন ফাংশন আর import ব্যবহার। একটা ক্যালকুলেটর প্রজেক্ট। ফাংশন শিখলে আপনার কোড সহজ, পরিচ্ছন্ন আর শক্তিশালী হবে। চলুন শুরু করি! ফাংশন কী এবং কীভাবে তৈরি করবেন? ফাংশন হলো একটা কাজের জন্য তৈরি ছোট কোড ব্লক। ধরুন, আপনি বারবার “হ্যালো” বলতে চান। প্রতিবার print("হ্যালো") না লিখে একটা ফাংশন বানিয়ে ফেলতে পারেন। ফাংশন তৈরি ও ব্যবহার একটা ফাংশন তৈরি করতে def কীওয়ার্ড ব্যবহার হয়। উদাহরণ: def say_hello(): print("হ্যালো, কেমন আছেন?") def: ফাংশন শুরু করার চিহ্ন। say_hello: ফাংশনের নাম (আপনি যা চান দিতে পারেন)। (): এখানে প্যারামিটার যায় (এখন খালি রাখলাম)। :: ফাংশনের ভেতরের কোড শুরু। কীভাবে ব্যবহার করবেন? ফাংশনের নাম লিখে () দিয়ে কল করুন: say_hello() # আউটপুট: হ্যালো, কেমন আছেন? প্যারামিটার, আর্গুমেন্ট এবং রিটার্ন ভ্যালু প্যারামিটার ও আর্গুমেন্ট প্যারামিটার হলো ফাংশনের ভেতরে ব্যবহার করা ভ্যারিয়েবল। আর্গুমেন্ট হলো সেই প্যারামিটারে দেওয়া মান। উদাহরণ: def greet(name): print("হ্যালো, " + name + "!") greet("রাহিম") # আউটপুট: হ্যালো, রাহিম! name: প্যারামিটার। "রাহিম": আর্গুমেন্ট। একাধিক প্যারামিটারও দেওয়া যায়: def add_numbers(a, b): print(a + b) add_numbers(5, 3) # আউটপুট: 8 রিটার্ন ভ্যালু return দিয়ে ফাংশন থেকে কিছু ফেরত দেওয়া যায়। উদাহরণ: def multiply(a, b): return a * b result = multiply(4, 5) print(result) # আউটপুট: 20 return a * b: ফাংশন থেকে গুণফল ফেরত দেয়। result: ফেরত আসা মান সেভ করে। কেন দরকার? ফাংশনের ফলাফল পরে ব্যবহার করতে। মডুলার প্রোগ্রামিং কেন জরুরি? মডুলার প্রোগ্রামিং মানে কোডকে ছোট ছোট অংশে ভাগ করা। এর সুবিধা: বোঝা সহজ: বড় কোডের বদলে ছোট ফাংশন পড়া সহজ। পুন-ব্যবহার: একই ফাংশন বারবার কল করা যায়। সমস্যা খুঁজতে সুবিধা: ভুল হলে শুধু একটা ফাংশন ঠিক করলেই হয়। ধরুন, আপনি ১০০ লাইনের একটা প্রোগ্রাম লিখলেন। ফাংশন না থাকলে সব একসাথে থাকবে—বোঝা আর ঠিক করা কঠিন। ফাংশন দিয়ে ভাগ করলে জীবন সহজ! বিল্ট-ইন ফাংশন এবং import বিল্ট-ইন ফাংশন পাইথনে অনেক ফাংশন আগে থেকে আছে। যেমন: print(): কিছু দেখায়। len(): লিস্ট বা স্ট্রিং-এর দৈর্ঘ্য দেয়। word = "পাইথন" print(len(word)) # আউটপুট: ৬ import স্টেটমেন্ট অতিরিক্ত ফাংশন পেতে মডিউল ইমপোর্ট করতে হয়। উদাহরণ: import math print(math.sqrt(16)) # আউটপুট: 4.0 math: গণিতের মডিউল। sqrt(): বর্গমূল বের করে। টিপ: শুধু একটা ফাংশন ইমপোর্ট করতে চাইলে: from math import sqrt print(sqrt(25)) # আউটপুট: 5.0 প্রজেক্ট: ক্যালকুলেটর প্রোগ্রাম চলুন একটা ক্যালকুলেটর বানাই। এটা যোগ, বিয়োগ, গুণ এবং ভাগ করতে পারবে। ধাপগুলো: নতুন ফাইল বানান, নাম দিন calculator.py। এই কোড লিখুন: # ফাংশন তৈরি def add(a, b): return a + b def subtract(a, b): return a - b def multiply(a, b): return a * b def divide(a, b): if b != 0: return a / b else: return "ভাগ করা যাবে না!" # ইনপুট নেওয়া print("ক্যালকুলেটর") num1 = float(input("প্রথম সংখ্যা লিখুন: ")) num2 = float(input("দ্বিতীয় সংখ্যা লিখুন: ")) operation = input("কী করতে চান? (+, -, *, /): ") # ফাংশন কল করা if operation == "+": result = add(num1, num2) elif operation == "-": result = subtract(num1, num2) elif operation == "*": result = multiply(num1, num2) elif operation == "/": result = divide(num1, num2) else: result = "ভুল অপারেশন!" print("ফলাফল:", result) টার্মিনালে চালান: python calculator.py আউটপুট দেখুন: সাধারণ ক্যালকুলেটর প্রথম সংখ্যা লিখুন: 10 দ্বিতীয় সংখ্যা লিখুন: 5 কী করতে চান? (+, -, *, /): + ফলাফল: 15.0 কোড ব্যাখ্যা: add(), subtract(), ইত্যাদি: প্রতিটা ফাংশন একটা গণনা করে। divide()-এ if: শূন্য দিয়ে ভাগ এড়ানোর জন্য। float(): দশমিক সংখ্যা নেওয়ার জন্য। if-elif: অপারেশনের ভিত্তিতে সঠিক ফাংশন কল করে। এই প্রজেক্টে ফাংশনের শক্তি বোঝা যায়। হোমওয়ার্ক: প্যালিনড্রোম চেকার আপনার কাজ হলো একটা ফাংশন লেখা যেটা চেক করবে একটা সংখ্যা প্যালিনড্রোম কি না। প্যালিনড্রোম মানে উল্টো করে পড়লেও একই (যেমন ১২১, ৩৩৩)। ধাপগুলো: ফাইল বানান, নাম দিন palindrome.py। এই কোড লিখুন: def is_palindrome(number): # সংখ্যাকে স্ট্রিং-এ রূপান্তর num_str = str(number) # উল্টো করে তুলনা if num_str == num_str[::-1]: return True else: return False # ইনপুট নেওয়া num = int(input("একটা সংখ্যা লিখুন: ")) if is_palindrome(num): print(num, "একটা প্যালিনড্রোম!") else: print(num, "প্যালিনড্রোম নয়।") চালান: python palindrome.py উদাহরণ: ইনপুট: 121 আউটপুট: 121 একটা প্যালিনড্রোম! কোড ব্যাখ্যা: str(number): সংখ্যাকে টেক্সটে বদলায়। num_str[::-1

Mar 17, 2025 - 07:22
 0
পাইথন ফাংশন এবং মডুলার প্রোগ্রামিং

ভূমিকা

পাইথন শেখার জার্নিতে আরেকটা মজার ধাপে পৌঁছে গেছি! আজ আমরা ফাংশন (Functions) নিয়ে কথা বলব। ফাংশন হলো কোডের একটা ছোট অংশ, যেটা বারবার ব্যবহার করা যায়। এই পোস্টে আপনি শিখবেন:

  • ফাংশন কীভাবে তৈরি এবং ব্যবহার করতে হয়।
  • প্যারামিটার, আর্গুমেন্ট এবং রিটার্ন ভ্যালু।
  • মডুলার প্রোগ্রামিং কেন জরুরি।
  • পাইথনের বিল্ট-ইন ফাংশন আর import ব্যবহার।
  • একটা ক্যালকুলেটর প্রজেক্ট।

ফাংশন শিখলে আপনার কোড সহজ, পরিচ্ছন্ন আর শক্তিশালী হবে। চলুন শুরু করি!

ফাংশন কী এবং কীভাবে তৈরি করবেন?

ফাংশন হলো একটা কাজের জন্য তৈরি ছোট কোড ব্লক। ধরুন, আপনি বারবার “হ্যালো” বলতে চান। প্রতিবার print("হ্যালো") না লিখে একটা ফাংশন বানিয়ে ফেলতে পারেন।

ফাংশন তৈরি ও ব্যবহার

একটা ফাংশন তৈরি করতে def কীওয়ার্ড ব্যবহার হয়। উদাহরণ:

def say_hello():
    print("হ্যালো, কেমন আছেন?")
  • def: ফাংশন শুরু করার চিহ্ন।
  • say_hello: ফাংশনের নাম (আপনি যা চান দিতে পারেন)।
  • (): এখানে প্যারামিটার যায় (এখন খালি রাখলাম)।
  • :: ফাংশনের ভেতরের কোড শুরু।

কীভাবে ব্যবহার করবেন? ফাংশনের নাম লিখে () দিয়ে কল করুন:

say_hello()  # আউটপুট: হ্যালো, কেমন আছেন?

প্যারামিটার, আর্গুমেন্ট এবং রিটার্ন ভ্যালু

প্যারামিটার ও আর্গুমেন্ট

প্যারামিটার হলো ফাংশনের ভেতরে ব্যবহার করা ভ্যারিয়েবল। আর্গুমেন্ট হলো সেই প্যারামিটারে দেওয়া মান। উদাহরণ:

def greet(name):
    print("হ্যালো, " + name + "!")

greet("রাহিম")  # আউটপুট: হ্যালো, রাহিম!
  • name: প্যারামিটার।
  • "রাহিম": আর্গুমেন্ট।

একাধিক প্যারামিটারও দেওয়া যায়:

def add_numbers(a, b):
    print(a + b)

add_numbers(5, 3)  # আউটপুট: 8

রিটার্ন ভ্যালু

return দিয়ে ফাংশন থেকে কিছু ফেরত দেওয়া যায়। উদাহরণ:

def multiply(a, b):
    return a * b

result = multiply(4, 5)
print(result)  # আউটপুট: 20
  • return a * b: ফাংশন থেকে গুণফল ফেরত দেয়।
  • result: ফেরত আসা মান সেভ করে।

কেন দরকার? ফাংশনের ফলাফল পরে ব্যবহার করতে।

মডুলার প্রোগ্রামিং কেন জরুরি?

মডুলার প্রোগ্রামিং মানে কোডকে ছোট ছোট অংশে ভাগ করা। এর সুবিধা:

  • বোঝা সহজ: বড় কোডের বদলে ছোট ফাংশন পড়া সহজ।
  • পুন-ব্যবহার: একই ফাংশন বারবার কল করা যায়।
  • সমস্যা খুঁজতে সুবিধা: ভুল হলে শুধু একটা ফাংশন ঠিক করলেই হয়।

ধরুন, আপনি ১০০ লাইনের একটা প্রোগ্রাম লিখলেন। ফাংশন না থাকলে সব একসাথে থাকবে—বোঝা আর ঠিক করা কঠিন। ফাংশন দিয়ে ভাগ করলে জীবন সহজ!

বিল্ট-ইন ফাংশন এবং import

বিল্ট-ইন ফাংশন

পাইথনে অনেক ফাংশন আগে থেকে আছে। যেমন:

  • print(): কিছু দেখায়।
  • len(): লিস্ট বা স্ট্রিং-এর দৈর্ঘ্য দেয়।
  word = "পাইথন"
  print(len(word))  # আউটপুট: ৬

import স্টেটমেন্ট

অতিরিক্ত ফাংশন পেতে মডিউল ইমপোর্ট করতে হয়। উদাহরণ:

import math
print(math.sqrt(16))  # আউটপুট: 4.0
  • math: গণিতের মডিউল।
  • sqrt(): বর্গমূল বের করে।

টিপ: শুধু একটা ফাংশন ইমপোর্ট করতে চাইলে:

from math import sqrt
print(sqrt(25))  # আউটপুট: 5.0

প্রজেক্ট: ক্যালকুলেটর প্রোগ্রাম

চলুন একটা ক্যালকুলেটর বানাই। এটা যোগ, বিয়োগ, গুণ এবং ভাগ করতে পারবে।

ধাপগুলো:

  1. নতুন ফাইল বানান, নাম দিন calculator.py
  2. এই কোড লিখুন:
   # ফাংশন তৈরি
   def add(a, b):
       return a + b

   def subtract(a, b):
       return a - b

   def multiply(a, b):
       return a * b

   def divide(a, b):
       if b != 0:
           return a / b
       else:
           return "ভাগ করা যাবে না!"

   # ইনপুট নেওয়া
   print("ক্যালকুলেটর")
   num1 = float(input("প্রথম সংখ্যা লিখুন: "))
   num2 = float(input("দ্বিতীয় সংখ্যা লিখুন: "))
   operation = input("কী করতে চান? (+, -, *, /): ")

   # ফাংশন কল করা
   if operation == "+":
       result = add(num1, num2)
   elif operation == "-":
       result = subtract(num1, num2)
   elif operation == "*":
       result = multiply(num1, num2)
   elif operation == "/":
       result = divide(num1, num2)
   else:
       result = "ভুল অপারেশন!"

   print("ফলাফল:", result)
  1. টার্মিনালে চালান:
   python calculator.py
  1. আউটপুট দেখুন:
   সাধারণ ক্যালকুলেটর
   প্রথম সংখ্যা লিখুন: 10
   দ্বিতীয় সংখ্যা লিখুন: 5
   কী করতে চান? (+, -, *, /): +
   ফলাফল: 15.0

কোড ব্যাখ্যা:

  • add(), subtract(), ইত্যাদি: প্রতিটা ফাংশন একটা গণনা করে।
  • divide()-এ if: শূন্য দিয়ে ভাগ এড়ানোর জন্য।
  • float(): দশমিক সংখ্যা নেওয়ার জন্য।
  • if-elif: অপারেশনের ভিত্তিতে সঠিক ফাংশন কল করে।

এই প্রজেক্টে ফাংশনের শক্তি বোঝা যায়।

হোমওয়ার্ক: প্যালিনড্রোম চেকার

আপনার কাজ হলো একটা ফাংশন লেখা যেটা চেক করবে একটা সংখ্যা প্যালিনড্রোম কি না। প্যালিনড্রোম মানে উল্টো করে পড়লেও একই (যেমন ১২১, ৩৩৩)।

ধাপগুলো:

  1. ফাইল বানান, নাম দিন palindrome.py
  2. এই কোড লিখুন:
   def is_palindrome(number):
       # সংখ্যাকে স্ট্রিং-এ রূপান্তর
       num_str = str(number)
       # উল্টো করে তুলনা
       if num_str == num_str[::-1]:
           return True
       else:
           return False

   # ইনপুট নেওয়া
   num = int(input("একটা সংখ্যা লিখুন: "))
   if is_palindrome(num):
       print(num, "একটা প্যালিনড্রোম!")
   else:
       print(num, "প্যালিনড্রোম নয়।")
  1. চালান:
   python palindrome.py
  1. উদাহরণ:
    • ইনপুট: 121
    • আউটপুট: 121 একটা প্যালিনড্রোম!

কোড ব্যাখ্যা:

  • str(number): সংখ্যাকে টেক্সটে বদলায়।
  • num_str[::-1]: টেক্সটকে উল্টো করে।
  • if num_str == num_str[::-1]: একই হলে True ফেরত দেয়।
  • is_palindrome(): ফাংশন চেক করে ফলাফল দেয়।

উপসংহার

আজ আমরা শিখলাম:

  • ফাংশন তৈরি এবং কল করা।
  • প্যারামিটার, আর্গুমেন্ট আর রিটার্ন ভ্যালু।
  • মডুলার প্রোগ্রামিংয়ের গুরুত্ব।
  • বিল্ট-ইন ফাংশন আর import
  • একটা ক্যালকুলেটর বানানো।

ফাংশন শিখে আপনার কোড এখন আরও স্মার্ট হবে। প্রজেক্ট আর হোমওয়ার্ক করে দেখুন। কমেন্টে বলুন কেমন লাগলো বা কোথায় সমস্যা হয়েছে। আপনি দারুণ করছেন, এগিয়ে যান!

প্রশ্ন:

  1. ফাংশন বোঝা কি আপনার জন্য সহজ লেগেছে?
  2. ক্যালকুলেটর প্রোগ্রামে কি কোনো নতুন ফিচার যোগ করতে চান?
  3. মডুলার প্রোগ্রামিং কি আপনার কোড লেখার স্টাইল বদলে দেবে?