পাইথন ল্যাম্বদা ফাংশন বোঝার জন্য একটি শিক্ষানবিস গাইড

পাইথন ল্যাম্বদা ফাংশন বোঝার জন্য একটি শিক্ষানবিস গাইড

পাইথনের ল্যাম্বডাস হল সবচেয়ে দরকারী, গুরুত্বপূর্ণ এবং আকর্ষণীয় বৈশিষ্ট্যগুলির মধ্যে একটি। দুর্ভাগ্যক্রমে, তারা ভুল বোঝা এবং ভুল করাও সহজ।





এই প্রবন্ধে, আমরা এই রহস্যময় ফাংশন, সেগুলি কীভাবে ব্যবহার করব এবং কেন সেগুলি দরকারী তা সম্পর্কে আপনার যা জানা দরকার তা ব্যাখ্যা করতে যাচ্ছি।





এই ব্যবহারিক উদাহরণগুলিতে ডুব দেওয়ার আগে, আপনি একটি পাইথন ভার্চুয়াল পরিবেশ স্থাপন করতে চাইতে পারেন। যদি আপনি এটি করতে না চান, তাহলে আপনার অন্তত এই উদাহরণগুলি চেষ্টা করা উচিত একটি ইন্টারেক্টিভ অনলাইন পাইথন শেলের সাথে





পাইথনে ল্যাম্বদা কী?

একটি ল্যাম্বডা সহজভাবে পাইথনে একটি ফাংশন সংজ্ঞায়িত করার একটি উপায়। তারা কখনও কখনও 'ল্যাম্বদা অপারেটর' বা 'ল্যাম্বদা ফাংশন' নামে পরিচিত।

যদি আপনি আগে পাইথন ব্যবহার করেন, তাহলে আপনি সম্ভবত ব্যবহার করে আপনার ফাংশন সংজ্ঞায়িত করেছেন ডিফ কীওয়ার্ড, এবং এটি আপনার জন্য এতদূর পর্যন্ত কাজ করেছে। তাহলে কেন একই জিনিস করার অন্য উপায় আছে?



পার্থক্য হল ল্যাম্বদা ফাংশনগুলি বেনামী। অর্থ, এগুলি এমন ফাংশন যার নাম দেওয়ার দরকার নেই। এগুলি ছোট, এক-বন্ধ ফাংশন তৈরি করতে ব্যবহৃত হয় যেখানে 'বাস্তব' ফাংশনটি খুব বড় এবং ভারী হবে।

ল্যাম্বডাস একটি ফাংশন বস্তু ফেরত দেয়, যা একটি ভেরিয়েবলের জন্য নির্ধারিত হতে পারে। ল্যাম্বদাসের যে কোন সংখ্যার যুক্তি থাকতে পারে, কিন্তু তাদের একটি মাত্র অভিব্যক্তি থাকতে পারে। আপনি ল্যাম্বডাসের ভিতরে অন্যান্য ফাংশন কল করতে পারবেন না।





ল্যাম্বদা ফাংশনগুলির জন্য সবচেয়ে সাধারণ ব্যবহার হল কোডে যার জন্য একটি সাধারণ এক-লাইন ফাংশন প্রয়োজন, যেখানে এটি একটি সম্পূর্ণ স্বাভাবিক ফাংশন লিখতে ওভারকিল হবে। এটি 'ম্যাপ, ফিল্টার এবং রিডিউস সম্পর্কে কী?' এর নীচে আরও বিস্তারিতভাবে আচ্ছাদিত।

পাইথনে ল্যাম্বডাস কীভাবে ব্যবহার করবেন

একটি ল্যাম্বদা ফাংশন দেখার আগে, আসুন একটি সুপার মৌলিক ফাংশন দেখি যা 'traditionalতিহ্যগত' উপায় সংজ্ঞায়িত করে:





def add_five(number):
return number + 5

print(add_five(number=4))

এই ফাংশনটি খুব মৌলিক, তবে এটি ল্যাম্বডাসকে চিত্রিত করে। আপনার হয়তো এর চেয়ে জটিল। এই ফাংশন এর মাধ্যমে পাস করা যেকোনো সংখ্যায় পাঁচ যোগ করে সংখ্যা প্যারামিটার

ল্যাম্বদা ফাংশন হিসাবে এটি দেখতে কেমন তা এখানে:

add_five = lambda number: number + 5

print(add_five(number=4))

ব্যবহার করার চেয়ে ডিফ , শব্দ ল্যাম্বদা ব্যবহৃত হয়. কোন বন্ধনী প্রয়োজন নেই, কিন্তু কোন শব্দ অনুসরণ ল্যাম্বদা কীওয়ার্ড প্যারামিটার হিসেবে তৈরি করা হয়। কোলনটি প্যারামিটার এবং এক্সপ্রেশন আলাদা করতে ব্যবহৃত হয়। এই ক্ষেত্রে, অভিব্যক্তি হল সংখ্যা + 5

ব্যবহার করার কোন প্রয়োজন নেই প্রত্যাবর্তন কীওয়ার্ড --- ল্যাম্বদা এটি স্বয়ংক্রিয়ভাবে আপনার জন্য করে।

এখানে আপনি কিভাবে দুটি আর্গুমেন্ট সহ একটি ল্যাম্বদা ফাংশন তৈরি করবেন:

নেটফ্লিক্সে কীভাবে একটি প্রোফাইল মুছবেন
add_numbers_and_five = lambda number1, number2: number1 + number2 + 5

print(add_numbers_and_five(number1=4, number2=3))

যদি আপনি এখনও ল্যাম্বডাস বিন্দু সম্পর্কে অনিশ্চিত থাকেন, তাহলে পরবর্তী বিভাগটি ডুব দেবে এবং আপনাকে আলো দেখতে সাহায্য করবে।

মানচিত্র, ফিল্টার এবং হ্রাস সহ পাইথন ল্যাম্বডাস

পাইথন কোর লাইব্রেরিতে তিনটি পদ্ধতি বলা হয় মানচিত্র , কমানো , এবং ছাঁকনি । এই পদ্ধতিগুলি সম্ভবত ল্যাম্বদা ফাংশন ব্যবহার করার সর্বোত্তম কারণ।

দ্য মানচিত্র ফাংশন দুটি আর্গুমেন্ট আশা করে: একটি ফাংশন এবং একটি তালিকা। এটি সেই ফাংশনটি গ্রহণ করে এবং তালিকার প্রতিটি উপাদানের জন্য এটি প্রয়োগ করে, পরিবর্তিত উপাদানগুলির তালিকাটি মানচিত্রের বস্তু হিসাবে ফিরিয়ে দেয়। দ্য তালিকা ফাংশনটি ফলস্বরূপ মানচিত্র বস্তুটিকে আবার একটি তালিকায় রূপান্তর করতে ব্যবহৃত হয়।

ল্যাম্বদা ছাড়া কীভাবে মানচিত্র ব্যবহার করবেন তা এখানে:

list1 = [2, 4, 6, 8]
print(list1)
def add_five(number):
return number + 5

new_list = list(map(add_five, list1))
print(new_list)

এই ম্যাপ ফাংশনটি বেশ সুবিধাজনক, তবে এটি আরও ভাল হতে পারে। দ্য add_five ফাংশন একটি যুক্তি হিসাবে পাস করা হয়, কিন্তু যদি আপনি প্রতিবার মানচিত্র ব্যবহার করেন তবে আপনি যদি একটি ফাংশন তৈরি করতে না চান? আপনি পরিবর্তে একটি ল্যাম্বদা ব্যবহার করতে পারেন!

এখানে সেই একই কোডটি দেখতে কেমন, শুধুমাত্র একটি ল্যাম্বদা দ্বারা প্রতিস্থাপিত ফাংশনের সাথে:

উইন্ডোজ এক্সপি পেশাদার প্রশাসকের পাসওয়ার্ড হ্যাক
list1 = [2, 4, 6, 8]
print(list1)

new_list = list(map(lambda x: x + 5, list1))
print(new_list)

আপনি দেখতে পারেন, পুরো add_five ফাংশন আর প্রয়োজন হয় না। পরিবর্তে, ল্যাম্বডা ফাংশন জিনিস পরিষ্কার রাখা ব্যবহার করা হয়।

সঙ্গে ছাঁকনি ফাংশন, প্রক্রিয়া অনেকটা একই। ছাঁকনি একটি ফাংশন নেয় এবং এটি তালিকার প্রতিটি এলিমেনের জন্য প্রযোজ্য করে এবং শুধুমাত্র একটি উপাদান দিয়ে একটি নতুন তালিকা তৈরি করে যা ফাংশনটি সত্যকে ফিরিয়ে দেয়।

প্রথম, ল্যাম্বডাস ছাড়া:

numbers = [1, 4, 5, 10, 20, 30]
print(numbers)
def greater_than_ten_func(number):
if number > 10:
return True
else:
return False
new_numbers = list(filter(greater_than_ten_func, numbers))

print(new_numbers)

এই কোডে কিছু ভুল নেই, কিন্তু এটি একটু দীর্ঘ হচ্ছে। আসুন দেখি একটি ল্যাম্বদা কত লাইন সরিয়ে দিতে পারে:

numbers = [1, 4, 5, 10, 20, 30]
print(numbers)
new_numbers = list(filter(lambda x: x > 10, numbers))
print(new_numbers)

ল্যাম্বদা ফাংশন সম্পূর্ণের প্রয়োজনকে প্রতিস্থাপন করেছে বৃহত্তর_থান_টেন_ফান ! এবং এটি পাঁচটি সহজ কথায় করা হয়েছে। এই কারণেই ল্যাম্বডাস শক্তিশালী: তারা সাধারণ কাজের জন্য বিশৃঙ্খলা কমায়।

পরিশেষে, আসুন দেখি কমানো । হ্রাস আরেকটি দুর্দান্ত পাইথন ফাংশন। এটি একটি তালিকার সমস্ত আইটেমের জন্য একটি ঘূর্ণায়মান গণনা প্রযোজ্য। আপনি এটি ব্যবহার করতে পারেন একটি সমষ্টি যোগ করতে, অথবা সব সংখ্যা একসাথে গুণ করতে:

from functools import reduce
numbers = [10, 20, 30, 40]
print(numbers)
def summer(a, b):
return a + b

result = reduce(summer, numbers)
print(result)

এই উদাহরণটি আমদানি করা প্রয়োজন কমানো থেকে functools মডিউল, কিন্তু চিন্তা করবেন না, functools মডিউল পাইথন কোর লাইব্রেরির অংশ।

একটি ল্যাম্বডার সাথে গল্পটি অনেকটা একই, একটি ফাংশনের প্রয়োজন নেই:

from functools import reduce
numbers = [10, 20, 30, 40]
print(numbers)

result = reduce(lambda a, b: a + b, numbers)
print(result)

পাইথন ল্যাম্বডাসের সাথে দেখার বিষয়গুলি

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

যদি আপনি একটি মৌলিক কাজ ছাড়া আরো কিছু করছেন, অথবা অন্যান্য পদ্ধতিতে কল করতে চান, একটি স্বাভাবিক ফাংশন ব্যবহার করুন। ল্যাম্বডাস এক, বেনামী ফাংশনগুলির জন্য দুর্দান্ত, তবে তাদের অবশ্যই একটি একক অভিব্যক্তি থাকতে হবে। যদি আপনার ল্যাম্বদা একটি নিয়মিত অভিব্যক্তির মত দেখতে শুরু করে, তাহলে সম্ভবত এটি একটি ডেডিকেটেড পদ্ধতিতে রিফ্যাক্টর করার সময়।

আরো টিপস জন্য, আমাদের চেক করুন পাইথনে বস্তু ভিত্তিক প্রোগ্রামিংয়ের নির্দেশিকা এবং পাইথন নতুনদের জন্য আমাদের FAQ গাইড দেখুন।

শেয়ার করুন শেয়ার করুন টুইট ইমেইল ইমেইল আসল নাকি নকল তা পরীক্ষা করার টি উপায়

যদি আপনি এমন একটি ইমেল পেয়ে থাকেন যা কিছুটা সন্দেহজনক মনে হয়, তবে এর সত্যতা যাচাই করা সর্বদা ভাল। একটি ইমেল আসল কিনা তা বলার জন্য এখানে তিনটি উপায় রয়েছে।

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • পাইথন
  • কোডিং টিউটোরিয়াল
লেখক সম্পর্কে জো কোবার্ন(136 নিবন্ধ প্রকাশিত)

জো যুক্তরাজ্যের লিংকন বিশ্ববিদ্যালয় থেকে কম্পিউটার বিজ্ঞানে স্নাতক। তিনি একজন পেশাদার সফটওয়্যার ডেভেলপার, এবং যখন তিনি ড্রোন উড়াচ্ছেন না বা সঙ্গীত লিখছেন না, তখন তাকে প্রায়ই ফটো তুলতে বা ভিডিও তৈরি করতে দেখা যায়।

জো কোবার্ন থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন