পাইথন ফাংশন
কফাংশনকোডের একটি ব্লক যা শুধুমাত্র কল করলেই চলে।
কোড পুনরায় ব্যবহার করুন
কোড পুনরাবৃত্তি এড়াতে সাহায্য করে
প্রোগ্রামিং মডুলারিটি
জটিল সমস্যাগুলোকে ছোট ছোট অংশে বিভক্ত করে
পুনরায় ব্যবহার করুন
একবার লেখা যায় এবং একাধিকবার ব্যবহার করা যায়
রক্ষণাবেক্ষণ সহজ
এক জায়গায় পরিবর্তন করা যেতে পারে
একটি ফাংশন তৈরি করা হচ্ছে
পাইথনে, একটি ফাংশনdefএকটি ফাংশন নাম এবং বন্ধনী দ্বারা অনুসরণ ট্যাগ ব্যবহার করে সংজ্ঞায়িত:
উদাহরণ
def my_function():
print("Hello from a function")
এইmy_functionনামে একটি ফাংশন তৈরি করে, যা কল করার সময় "একটি ফাংশন থেকে হ্যালো" প্রিন্ট করে।
গুরুত্বপূর্ণ নোট:
ফাংশনের ভিতরে কোডইন্ডেন্ট করা উচিত. পাইথন কোডের ব্লক সীমাবদ্ধ করতে ইন্ডেন্টেশন ব্যবহার করে।
একটি ফাংশন কলিং
একটি ফাংশন কল করার জন্য, বন্ধনী দ্বারা তার নাম লিখুন:
উদাহরণ
def my_function():
print("Hello from a function")
# ফাংশনটি কল করুন
my_function()
ফাংশন কল প্রবাহ:
def my_function():- ফাংশন সংজ্ঞায়িত করেprint("Hello from a function")- কার্যকরী কাজmy_function()- ফাংশন চালায়Hello from a function- ফলাফল পর্দায় প্রদর্শিত হয়আপনি একই ফাংশন একাধিকবার কল করতে পারেন:
def my_function():
print("Hello from a function")
# একাধিকবার কল করুন
my_function()
my_function()
my_function()
আউটপুট:
Hello from a function
Hello from a function
Hello from a function
ফাংশনের নাম
ফাংশনের নামগুলি পাইথনের পরিবর্তনশীল নামের মতো একই নিয়ম অনুসরণ করে:
- একটি ফাংশনের নাম একটি অক্ষর বা একটি আন্ডারস্কোর দিয়ে শুরু হওয়া আবশ্যক
- একটি ফাংশনের নামে শুধুমাত্র অক্ষর, সংখ্যা এবং আন্ডারস্কোর থাকতে পারে
- ফাংশনের নামগুলি কেস-সংবেদনশীল (
myFunctionএবংmyfunctionভিন্ন)
বৈধ ফাংশন নাম:
calculate_sum()
_private_function()
myFunction2()
process_data_v2()
get_user_input()
সর্বোত্তম অনুশীলন:
ফাংশন কি করে তা বর্ণনা করেবর্ণনামূলক নামপি ব্যবহার করুন। সংক্ষিপ্ত, অর্থহীন নাম এড়িয়ে চলুন।
বদনাম
def abc():
# temperature conversion
return (f - 32) * 5/9
নাম বলে না এটা কি করে
ভালো নাম
def fahrenheit_to_celsius(fahrenheit):
# Convert Fahrenheit to Celsius
return (fahrenheit - 32) * 5/9
নামটি স্পষ্টভাবে ফাংশনের উদ্দেশ্য ব্যাখ্যা করে
কেন ফাংশন ব্যবহার?
কল্পনা করুন যে আপনার প্রোগ্রামে আপনাকে কয়েকবার ফারেনহাইট সেলসিয়াসে রূপান্তর করতে হবে। ফাংশন ছাড়া, আপনাকে একই গণনা কোড বারবার লিখতে হবে:
ফাংশন ছাড়া
# পুনরাবৃত্তি কোড
temp1 = 77
celsius1 = (temp1 - 32) * 5 / 9
print(celsius1)
temp2 = 95
celsius2 = (temp2 - 32) * 5 / 9
print(celsius2)
temp3 = 50
celsius3 = (temp3 - 32) * 5 / 9
print(celsius3)
অসুবিধা:
- কোডটি পুনরাবৃত্তি করুন
- ভুল করার সম্ভাবনা বেশি
- রক্ষণাবেক্ষণ কঠিন
ফাংশন সহ
def fahrenheit_to_celsius(fahrenheit):
# একবার লিখুন, একাধিকবার ব্যবহার করুন
return (fahrenheit - 32) * 5 / 9
# কোড পুনরায় ব্যবহার করুন
print(fahrenheit_to_celsius(77))
print(fahrenheit_to_celsius(95))
print(fahrenheit_to_celsius(50))
সুবিধা:
- কোন কোড পুনরাবৃত্তি
- কম ত্রুটি
- সহজ রক্ষণাবেক্ষণ
- আপগ্রেড করা সহজ
শুকনো নীতি:
Don't Repeat Yourself (DRY)- একই কোড বারবার লিখবেন না। ফাংশন আপনার কোড শুকনো রাখা!
রিটার্ন মান
কার্যক্রমreturnবিবৃতিগুলিকে কোডে ডেটা পাস করতে ব্যবহার করা যেতে পারে যা তাদের ডাকে।
একটি ফাংশনreturnবিবৃতিটি পৌঁছে গেলে, এটি কার্যকর করা বন্ধ করে এবং ফলাফল প্রদান করে:
উদাহরণ
একটি ফাংশন যা একটি মান প্রদান করে:
def get_greeting():
return "Hello from a function"
message = get_greeting()
print(message) # আউটপুট: একটি ফাংশন থেকে হ্যালো
প্রত্যাবর্তিত মান সরাসরি ব্যবহার করা যেতে পারে:
def get_greeting():
return "Hello from a function"
print(get_greeting()) # সরাসরি ব্যবহার করুন
গুরুত্বপূর্ণ নোট:
একটি ফাংশন জন্যreturnবিবৃতি উপস্থিত না থাকলে, এটি ডিফল্টরূপেNoneফিরে আসবে
রিটার্ন মান ছাড়া:
def print_hello():
print("Hello")
result = print_hello()
print(result) # আউটপুট: হ্যালো
# None
বিবৃতি পাস
ফাংশন সংজ্ঞা খালি হতে পারে না. বিষয়বস্তু ছাড়া একটি কার্যকরী স্থান তৈরি করতে,passবিবৃতি ব্যবহার করুন:
উদাহরণ
def my_function():
pass # স্পেস ফিলিং কমান্ড
প্রধান ব্যবহার:
passবিবৃতিটি প্রায়শই বিকাশের সময় ব্যবহার করা হয়, যা আমাদের প্রথমে কাঠামো সংজ্ঞায়িত করতে এবং তারপর বিশদটি বাস্তবায়ন করতে দেয়।
উন্নয়ন উদাহরণ:
# ধাপ 1: কাঠামো সংজ্ঞায়িত করুন
def calculate_total(items):
pass # এর পরে কার্যকর করা যাক
def apply_discount(total):
pass # এর পরে কার্যকর করা যাক
def generate_receipt(customer, items):
pass # এর পরে কার্যকর করা যাক
# ধাপ 2: ধাপে ধাপে প্রতিটি ফাংশন চালান
def calculate_total(items):
total = 0
for item in items:
total += item['price'] * item['quantity']
return total
বাস্তব বিশ্বের উদাহরণ
গাণিতিক ফাংশন
def calculate_area(length, width):
return length * width
def calculate_circle_area(radius):
return 3.14159 * radius ** 2
# আবেদন
room_area = calculate_area(10, 5)
circle_area = calculate_circle_area(7)
যাচাইকরণ ফাংশন
def is_valid_email(email):
return '@' in email and '.' in email
def is_adult(age):
return age >= 18
# আবেদন
if is_valid_email("user@example.com"):
print("Valid email")
ডেটা প্রসেসিং
def format_name(first, last):
return f"{first.title()} {last.title()}"
def calculate_average(numbers):
if not numbers:
return 0
return sum(numbers) / len(numbers)
# আবেদন
full_name = format_name("john", "doe")
avg_score = calculate_average([85, 92, 78, 90])
অপারেশনাল সেরা অনুশীলন
একটি ফাংশন শুধুমাত্র একটি জিনিস করা উচিত, কিন্তু এটি ভাল করা
ফাংশনটি কী করে তা বর্ণনা করে এমন নাম ব্যবহার করুন
যদি একটি ফাংশন 20-30 লাইনের বেশি হয় তবে এটিকে ছোট ফাংশনে ভাঙ্গুন
একটি যৌক্তিক ক্রমে ফাংশন আর্গুমেন্ট রাখুন
কার্যক্রম অনুসরণ করে ডকস্ট্রিম যোগ করুন
def calculate_discount(price, discount_percent):
"""প্রদত্ত মূল্য এবং ছাড় শতাংশের জন্য চূড়ান্ত মূল্য গণনা করুন৷
Args:
মূল্য: মূল মূল্য
discount_percent: ছাড় শতাংশ (0-100)
Returns:
মূল্য ছাড়ের পর
"""
return price * (1 - discount_percent / 100)
অনুশীলন করুন
আপনার জ্ঞান পরীক্ষা করতে নিম্নলিখিত অনুশীলন চেষ্টা করুন:
পাইথনে ফাংশন সংজ্ঞায়িত করার জন্য সঠিক ট্যাগ কি?
সাধারণ কার্যকরী নিদর্শন
| টাইপ | বিস্তারিত | উদাহরণ |
|---|---|---|
| কার্যকরী ফাংশন | ইনপুট উপর ভিত্তি করে একটি মান গণনা | def calculate_area(length, width): |
| প্রক্রিয়া অপারেশন | কর্ম সম্পাদন করুন (মুদ্রণ, ফাইল সংরক্ষণ) | def print_report(data): |
| যাচাইকরণ ফাংশন | কিছু শর্ত চেক করুন এবং সত্য/মিথ্যা ফেরত দিন | def is_valid_email(email): |
| বিকল্প ফাংশন | এক ফর্ম থেকে অন্য ফর্মে রূপান্তর করুন | def celsius_to_fahrenheit(c): |
| অক্জিলিয়ারী ফাংশন | ছোট ফাংশন যা অন্যান্য ফাংশন সাহায্য করে | def format_currency(amount): |