Python ফাংশন

ফাংশন হল এমন একটি কোড ব্লক যা শুধুমাত্র ফাংশন ব্যবহার করার সময় চালু হয়。

আপনি তথ্যকে (প্যারামিটার নামকরা) ফাংশনে পাঠাতে পারেন。

ফাংশন তথ্যকে ফল হিসাবে ফিরিয়ে দিতে পারে。

ফাংশন তৈরি করা

পাইথনে, def কীভাবে ফাংশন সংজ্ঞায়িত করা হয়:

একক

def my_function():
  print("Hello from a function")

ফাংশন ব্যবহার

ফাংশন ব্যবহার করার জন্য, ফাংশন নাম এবং ব্র্যাকেট ব্যবহার করুন:

একক

def my_function():
  print("Hello from a function")
my_function()

একক চালু করুন

প্যারামিটার

তথ্যটি ফাংশনকে প্যারামিটার হিসাবে পাঠানো যেতে পারে。

প্যারামিটারগুলি ফাংশন নামের পরের ব্র্যাকেটে সংজ্ঞায়িত হয়। আপনি কোনও প্যারামিটার যোগ করতে পারেন, কেবল যদি এগুলির মধ্যে কমা ব্যবহার করেন তবে。

নিম্নলিখিত উদাহরণটি প্যারামিটার (fname) সহ ফাংশনটির উদাহরণ দেখায়। এই ফাংশনটি ব্যবহার করার সময়, আমরা একটি নাম পাঠাই, ফাংশনের ভিতরে এটা ব্যবহার করে পূর্ণ নাম প্রিন্ট করা হয়:

একক

def my_function(fname):
  print(fname + " Gates")
my_function("Bill")
my_function("Steve")
my_function("Elon")

একক চালু করুন

ডিফল্ট প্যারামিটার

নিম্নলিখিত উদাহরণটি ডিফল্ট প্যারামিটার মান ব্যবহার করে কিভাবে ব্যবহার করা হয় তা দেখায়。

যদি আমরা অপরিমাণ ফাংশনটি ব্যবহার করি, তবে ডিফল্ট মান ব্যবহার করা হবে:

একক

def my_function(country = "China"):
  print("I am from " + country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

একক চালু করুন

List-এর মাধ্যমে পাঠানো

ফাংশনকে পাঠানো প্যারামিটারটি কোনও ডাটা টাইপ (স্ট্রিং, সংখ্যা, List, Dictionary ইত্যাদি) হতে পারে, এবং ফাংশনের ভিতরে তা একই ডাটা টাইপ হিসাবে দেখা যাবে。

উদাহরণ, যদি আপনি List হিসাবে প্যারামিটার পাঠান, তবে ফাংশনতে তা List (তালিকা) হিসাবে আসবে:

একক

def my_function(food):
  for x in food:
    print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)

একক চালু করুন

ফিরিয়ে দেওয়া মান

ফাংশনকে কোনও মান ফিরিয়ে দিতে, 'return' ব্যবহার করুন: return বিন্যাস:

একক

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))

একক চালু করুন

কীভুক্ত প্যারামিটার

আপনি আউটার ক্রমাক্রম ব্যবহার করেও প্যারামিটার পাঠাতে পারেন: key = value

প্যারামিটারের ক্রম গুরুত্বপূর্ণ নয়。

একক

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)
my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")

একক চালু করুন

Python ডকুমেন্টে, 'কীভুক্ত প্যারামিটার' শব্দকে সাধারণত 'kwargs' নামে সংক্ষেপ করা হয়。

অসীম প্যারামিটার

যদি আপনি কোনও কারণে ফাংশনকে কতটা প্যারামিটার পাঠাতে জানতে পারেন না, তবে * এক্সপ্রেশন সাথে ফাংশন নামের সাথে যোগ করুন。

এভাবে, ফাংশন একটি প্যারামিটার ট্যুপল গ্রহণ করবে এবং যথাযথভাবে প্রত্যেকটি একককে পরিদর্শন করতে পারবে:

একক

যদি প্রামাণ্য সংখ্যা অজানা হয়, তবে * এক্সপ্রেশন সাথে প্রামাণ্য নামের সাথে যোগ করুন:

def my_function(*kids):
  print("The youngest child is " + kids[2])
my_function("Phoebe", "Jennifer", "Rory")

একক চালু করুন

pass বিন্যাস

ফাংশন নির্বাচন খালি হতে পারে না, কিন্তু আপনি কোনও কারণে খালি ফাংশন নির্বাচন লিখেছেন তবে, তাকে একটি ভুল রোধ করতে 'pass' বিন্যাস ব্যবহার করুন。

একক

def myfunction:
  pass

একক চালু করুন

Recursion

Pythonও ফাংশন রিকার্সকে স্বীকার করে, যার মানে নির্ধারিত ফাংশন এককেবারেই কাজকর্ম করতে পারে。

Recursion একটি সাধারণ গণিত এবং প্রোগ্রামিং কনসেপশন। এটা অর্থ করে, ফাংশন এককেবারেই কাজকর্ম করে। এই পদ্ধতির একটি সুবিধা হল, ফাংশন পরিণাম পেতে ডাটা পর্যন্ত পৌঁছতে পারে。

ডেভেলপারদের জন্য, রিকার্সকে অত্যন্ত সতর্কভাবে ব্যবহার করা উচিত, কারণ এটা একটি অসমাপ্ত, কিংবা অতিরিক্ত মেমরি এবং প্রসেসর ক্ষমতা ব্যবহারকারী ফাংশন লেখা হতে পারে। কিন্তু, সঠিকভাবে লেখা হলে, রিকার্স একটি অত্যন্ত প্রভাবশালী এবং গণিতগতভাবে সুলভ প্রোগ্রামিং পদ্ধতি হতে পারে。

এই উদাহরণেtri_recursion() আমরা এটা রিকার্স নামে ডিফাইন করি, যা এই অর্থে আমরা কাজকর্মকে আবার আবার করি ("recurse")। আমরা k বদলক ব্যবহার করি, এবং প্রতি রিকার্সের সময় k হ্রাস করি (-1)। যখন শর্ত অতীত হয় (যেমন 0 হলে), রিকার্স সমাপ্ত হয়。

নতুন ডেভেলপারের জন্য, এর কাজকর্মকে বুঝার জন্য কিছু সময় লাগতে পারে, সর্বোত্তম পদ্ধতি হল এটা পরীক্ষা করা এবং তা পরিবর্তন করা

একক

Recursion Example:

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result
print("\n\nRecursion Example Results")
tri_recursion(6)

একক চালু করুন