পাইথনে ফাংশন হলো নাম দিয়ে কল করা যาวা একটি কোড ব্লক। এটি প্যারামিটার হিসেবে ডেটা গ্রহণ করতে পারে এবং ঐচ্ছিকভাবে মান রিটার্ন করতে পারে।
সিনট্যাক্স
def function_name(parameters):
# ফাংশন বডি (ইন্ডেন্টেড)
# কিছু কাজ করুন
return value # ঐচ্ছিক
উদাহরণ
def greet(name):
return f"Hello, {name}!"
print(greet("Alice")) # Hello, Alice!
পাইথনে ফাংশন হলো অবজেক্ট
- ফাংশনের অ্যাট্রিবিউট থাকতে পারে:
func.name = "my_func" - ফাংশন ভেরিয়েবলে অ্যাসাইন করা যায়:
f = greet - ফাংশন আর্গামেন্ট হিসেবে পাস করা যায়
- ফাংশন রিটার্ন করা যায়
- ফাংশনের ভেতর ফাংশন ডিফাইন করা যায় (নেস্টেড ফাংশন / ক্লোজার)
মেথড vs ফাংশন
মেথড হলো কোনো অবজেক্টের সাথে জড়িত ফাংশন। পাইথনে মেথড শুধু ক্লাস ইন্সট্যান্সের জন্য নয় — যেকোনো অবজেক্ট টাইপের মেথড থাকতে পারে।
নেস্টেড ফাংশন উদাহরণ
def outer(x):
def inner(y):
return x + y
return inner
add5 = outer(5)
print(add5(10)) # 15