ল্যাম্বদা ফাংশনগুলি কী কী এবং সেগুলি কীভাবে ব্যবহার করবেন?



সাধারণ ফাংশন এবং ল্যাম্বদা ফাংশনগুলির মধ্যে পার্থক্যের সাথে পাইথন ল্যাম্বদা ফাংশনগুলি শিখুন এবং কীভাবে তারা ফিল্টার (), মানচিত্র (), হ্রাস () ব্যবহার করতে পারেন।

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

তো শুরু করা যাক :)





পাইথন ল্যাম্বদা ফাংশনগুলি কেন ব্যবহার করবেন?


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

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



পাইথন ল্যাম্বডা ফাংশনগুলি কী কী?


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

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

পাইথনে ল্যাম্বদা ফাংশনগুলি কীভাবে লিখবেন?

ল্যাম্বডা অপারেটরটি ব্যবহার করে একটি ল্যাম্বদা ফাংশন তৈরি করা হয়েছে এবং এর বাক্য গঠনটি নিম্নরূপ:



বাক্য গঠন:

লাম্বদা আর্গুমেন্ট: এক্সপ্রেশন

পাইথন ল্যাম্বদা ফাংশন যে কোনও সংখ্যক যুক্তি থাকতে পারে তবে এটি ঠিক লাগে একটি অভিব্যক্তি। ইনপুট বা তর্কগুলি 0 থেকে শুরু হয়ে যে কোনও সীমাতে যেতে পারে। অন্য কোনও ফাংশনের মতো, লাম্বদা ফাংশনগুলি কোনও ইনপুট না রাখাই পুরোপুরি ঠিক। অতএব, নিম্নলিখিত ফর্ম্যাটগুলির মধ্যে আপনার ল্যাম্বদা ফাংশন থাকতে পারে:

উদাহরণ:

ল্যাম্বদা: 'উদ্দেশ্য নির্দিষ্ট করুন'

এখানে, ল্যাম্বদা ফাংশন কোনও যুক্তি নিচ্ছে না।

উদাহরণ:

লাম্বদা aএক: 'একটি ব্যবহার নির্দিষ্ট করুনএক'

এখানে ল্যাম্বদা একটি ইনপুট নিচ্ছে যা একটিএক

অ্যারে জাভা সর্বাধিক মান সন্ধান করুন

একইভাবে, আপনি ল্যাম্বদা ক করতে পারেনএক, প্রতি, প্রতি..প্রতিএন

এর প্রদর্শন করতে কয়েকটি উদাহরণ নেওয়া যাক:

উদাহরণ 1:

a = ল্যাম্বদা এক্স: এক্স * এক্স প্রিন্ট (এ (3))

আউটপুট: 9

উদাহরণ 2:

a = ল্যাম্বদা এক্স, y: x * y প্রিন্ট (এ (3,7))

আউটপুট: একুশ

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

অন্যদিকে, সাধারণ অজগর ফাংশনগুলি তাদের ফাংশন সংজ্ঞায় যেকোন সংখ্যক বিবৃতি নিতে পারে।

বেনামে ফাংশন কীভাবে কোডের আকার হ্রাস করে?

প্রয়োজনীয় কোডের পরিমাণের তুলনা করার আগে প্রথমে এর সিনট্যাক্সটি লিখি এবং এটি পূর্বে বর্ণিত ল্যাম্বদা ফাংশনগুলির সাথে তুলনা করুন।

পাইথনের যে কোনও সাধারণ ফাংশন a ব্যবহার করে সংজ্ঞায়িত করা হয় Def নিম্নলিখিত কীওয়ার্ড:

বাক্য গঠন:

Def ফাংশন_নাম (পরামিতি):
বিবৃতি (গুলি)

আপনি দেখতে পাচ্ছেন যে ল্যাম্বডা ফাংশনের জন্য প্রয়োজনীয় কোডের পরিমাণ সাধারণ ফাংশনের চেয়ে বেশ কম।

আসুন আমরা এখন সাধারণ ফাংশন ব্যবহার করে আগের যে উদাহরণটি নিয়েছিলাম তা আবার লিখি।

উদাহরণ:

Def my_func (x): এক্স x এক্স প্রিন্ট (my_func (3))

আউটপুট: 9

আপনি দেখতে পাচ্ছেন, উপরের উদাহরণে, 3 এর স্কোয়ারের মানটি মূল্যায়নের জন্য আমাদের my_func এর মধ্যে একটি রিটার্ন স্টেটমেন্ট প্রয়োজন, বিপরীতভাবে, লাম্বদা ফাংশনটি এই রিটার্নের বিবৃতিটি ব্যবহার করে না, তবে বেনামি ফাংশনটির মূল অংশ হ'ল ফাংশন হিসাবে একই লাইনে কোলন প্রতীক পরে লেখা হয়। সুতরাং ফাংশনের আকার আমার_ফঙ্কের চেয়ে ছোট।

তবে উপরের উদাহরণগুলিতে ল্যাম্বদা ফাংশনগুলিকে অন্য কিছু ব্যবহার করে ডাকা হয় ক। এটি করা হয়েছে কারণ এই ফাংশনগুলির নামহীন এবং অতএব কিছু নাম ডাকতে হবে। তবে, এই ঘটনাটি বিভ্রান্তিকর বলে মনে হতে পারে যে যখন এগুলি নামহীন ফাংশনগুলি ব্যবহার করতে হবে যখন তাদের সত্যিকার অর্থে অন্য কোনও নাম দেওয়ার প্রয়োজন হয়? এবং অবশ্যই, নামটি আমার ফাংশনে নির্দিষ্ট করার পরে, এটি আর নামহীন থাকে না! ঠিক?

এটি একটি বৈধ প্রশ্ন, তবে মূল কথাটি হ'ল এই বেনামী ফাংশনগুলি ব্যবহার করার সঠিক উপায় এটি নয়।

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

পাইথন ল্যাম্বদা ব্যবহারকারী-সংজ্ঞায়িত ফাংশনগুলির মধ্যে:

উপরে উল্লিখিত মত, ল্যাম্বদা ফাংশনগুলি সর্বোত্তম সুবিধা চিহ্নিত করতে অন্য ফাংশনগুলির মধ্যে ব্যবহৃত হয়।

নিম্নলিখিত উদাহরণটিতে new_func রয়েছে যা একটি সাধারণ অজগর ফাংশন যা একটি যুক্তি x গ্রহণ করে। এই যুক্তিটি পরে কিছু অজানা যুক্তিতে যুক্ত করা হবে y যা ল্যাম্বদা ফাংশনের মাধ্যমে সরবরাহ করা হয়।

সমস্ত নাগিওগুলি কী পর্যবেক্ষণ করতে পারে

উদাহরণ:

Def new_func (x): রিটার্ন (ল্যাম্বদা y: x + y) টি = নতুন_ফুনক (3) ইউ = নতুন_ফঙ্ক (2) প্রিন্ট (টি (3)) প্রিন্ট (ইউ (3))

আউটপুট:



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

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

ফিল্টার (), মানচিত্র () এবং হ্রাস () এর মধ্যে বেনামে ফাংশন কীভাবে ব্যবহার করবেন:

মধ্যে বেনামে ফাংশন ছাঁকনি():

ছাঁকনি():

ফিল্টার () পদ্ধতিটি অন্য উপাদানগুলির সত্য বা মিথ্যা পরীক্ষার জন্য আর্গুমেন্ট হিসাবে পাস করা অন্য ফাংশনের সাহায্যে প্রদত্ত পুনরাবৃত্ত (তালিকা, সেট, ইত্যাদি) ফিল্টার করতে ব্যবহৃত হয়।

এই ফাংশনটির বাক্য গঠনটি হ'ল:

বাক্য গঠন:

ফিল্টার (ফাংশন, পুনরাবৃত্ত)

এখন নিম্নলিখিত উদাহরণ বিবেচনা করুন:

উদাহরণ:

my_list = [2,3,4,5,6,7,8] new_list = list (ফিল্টার (lambda a: (a / 3 == 2), my_list)) মুদ্রণ (নতুন তালিকা)

আউটপুট: []]

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

ঝরনা মধ্যে পরামিতি ব্যবহার কিভাবে

মানচিত্র ():

পাইথনের মানচিত্র () ফাংশনটি এমন একটি ফাংশন যা সমস্ত পুনরাবৃত্তগুলিতে প্রদত্ত ফাংশনটি প্রয়োগ করে এবং একটি নতুন তালিকা প্রদান করে।

বাক্য গঠন:

মানচিত্র (ফাংশন, পুনরাবৃত্ত)

আসুন মানচিত্রের () ফাংশনের মধ্যে ল্যাম্বডা ফাংশনগুলির ব্যবহার প্রদর্শনের জন্য একটি উদাহরণ নিই:

উদাহরণ:

আমার_লিস্ট = [2,3,4,5,6,7,8] নতুন_ তালিকা = তালিকা (মানচিত্র (ল্যাম্বদা এ: (a / 3! = 2), লি)) মুদ্রণ (নতুন তালিকা)

আউটপুট:

[সত্য, সত্য, সত্য, সত্য, মিথ্যা, সত্য, সত্য]

উপরের আউটপুটটি দেখায় যে, যখনই পুনরাবৃত্তের মান 3 দ্বারা বিভক্ত হয় তখন 2 এর সমান হয় না, প্রত্যাশিত ফলাফলটি সত্য হওয়া উচিত। সুতরাং, আমার_ তালিকার সমস্ত উপাদানগুলির জন্য, শর্তটি মিথ্যাতে পরিবর্তিত হলে 6 মান বাদে এটি সত্য হয়।

হ্রাস ():

হ্রাস () ফাংশনটি উপাদানগুলির তালিকায় কিছু অন্যান্য ক্রিয়াকলাপ প্রয়োগ করতে ব্যবহৃত হয় যা এতে প্যারামিটার হিসাবে উত্তীর্ণ হয় এবং শেষ পর্যন্ত একটি একক মান প্রদান করে।

এই ফাংশনটির বাক্য গঠনটি নিম্নরূপ:

বাক্য গঠন:

হ্রাস (ফাংশন, ক্রম)

উদাহরণ:

ফান্টুলগুলি আমদানি হ্রাস হ্রাস করুন (ল্যাম্বদা এ, বি: এ + বি, [২৩,২১,,৫,৯৮])

উপরের উদাহরণটি নিম্নলিখিত চিত্রটিতে চিত্রিত হয়েছে:

পাইথন ল্যাম্বডা-এডুরেকা হ্রাস করুন

আউটপুট: 187

আউটপুট পরিষ্কারভাবে দেখায় যে তালিকার সমস্ত উপাদান ক্রমাগত যোগ করা চূড়ান্ত ফলাফল ফিরে।

এটির সাথে আমরা ‘পাইথন ল্যাম্বদা’ শীর্ষক এই নিবন্ধটি শেষ করি। আশা করি আপনার সাথে যা ভাগ করা হয়েছে তার সাথে আপনি পরিষ্কার। আপনি যথাসম্ভব অনুশীলন নিশ্চিত করুন এবং আপনার অভিজ্ঞতাটি ফিরিয়ে দিন।

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই 'পাইথন ল্যাম্বদা' ব্লগের মন্তব্য বিভাগে উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।

পাইথনের বিভিন্ন অ্যাপ্লিকেশন সহ গভীরতর জ্ঞান পেতে, আপনি লাইভের জন্য তালিকাভুক্ত করতে পারেন 24/7 সমর্থন এবং আজীবন অ্যাক্সেস সহ।