ازگر لیمبڈا افعال کو سمجھنے کے لیے ایک ابتدائی رہنما۔

ازگر لیمبڈا افعال کو سمجھنے کے لیے ایک ابتدائی رہنما۔

ازگر میں لیمبڈاس ایک انتہائی مفید ، اہم اور دلچسپ خصوصیت ہے جس کے بارے میں جاننا ہے۔ بدقسمتی سے ، وہ غلط فہمی اور غلط سمجھنے میں بھی آسان ہیں۔





اس آرٹیکل میں ، ہم ان پراسرار افعال کے بارے میں جاننے کی ہر چیز کی وضاحت کرنے جا رہے ہیں ، ان کا استعمال کیسے کریں ، اور وہ کیوں مفید ہیں۔





ان عملی مثالوں میں غوطہ لگانے سے پہلے ، آپ ازگر کا مجازی ماحول قائم کرنا چاہیں گے۔ اگر آپ ایسا کرنا بھی نہیں چاہتے تو آپ کو کم از کم ان مثالوں کو آزمانا چاہیے۔ ایک انٹرایکٹو آن لائن ازگر شیل کے ساتھ۔ .





ازگر میں لیمبڈا کیا ہے؟

لیمبڈا ازگر میں کسی فنکشن کی وضاحت کرنے کا ایک طریقہ ہے۔ انہیں بعض اوقات 'لیمبڈا آپریٹرز' یا 'لیمبڈا افعال' کے نام سے جانا جاتا ہے۔

اگر آپ نے پہلے ازگر استعمال کیا ہے تو ، آپ نے شاید اپنے افعال کی وضاحت کرتے ہوئے دفاع مطلوبہ الفاظ ، اور یہ آپ کے لئے اب تک ٹھیک کام کر رہا ہے۔ تو ایک ہی کام کرنے کا ایک اور طریقہ کیوں ہے؟



فرق یہ ہے کہ لیمبڈا افعال گمنام ہیں۔ مطلب ، وہ افعال ہیں جن کا نام لینے کی ضرورت نہیں ہے۔ وہ ایسے معاملات میں چھوٹے ، یک طرفہ افعال بنانے کے لیے استعمال ہوتے ہیں جہاں ایک 'حقیقی' فنکشن بہت بڑا اور بھاری ہوتا ہے۔

لیمبڈاس ایک فنکشن آبجیکٹ لوٹاتا ہے ، جو کسی متغیر کو تفویض کیا جاسکتا ہے۔ لیمبڈاس کے پاس دلائل کی کوئی بھی تعداد ہوسکتی ہے ، لیکن ان کا صرف ایک ہی اظہار ہوسکتا ہے۔ آپ لیمبڈاس کے اندر دوسرے افعال کو کال نہیں کر سکتے۔





لیمبڈا افعال کا سب سے عام استعمال کوڈ میں ہوتا ہے جس کے لیے ایک سادہ ون لائن فنکشن کی ضرورت ہوتی ہے ، جہاں مکمل نارمل فنکشن لکھنا حد سے زیادہ ہوگا۔ یہ ذیل میں زیادہ تفصیل سے احاطہ کیا گیا ہے ، 'نقشہ ، فلٹر اور کمی کے بارے میں کیا ہے؟' کے تحت۔

ازگر میں لیمبڈاس کا استعمال کیسے کریں۔

لیمبڈا فنکشن کو دیکھنے سے پہلے ، آئیے ایک سپر بنیادی فنکشن کو دیکھیں جس نے 'روایتی' طریقے کی وضاحت کی ہے۔





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 فنکشن بطور دلیل پیش کیا جاتا ہے ، لیکن اگر آپ نقشہ استعمال کرتے ہوئے ہر بار فنکشن نہیں بنانا چاہتے تو کیا ہوگا؟ آپ اس کے بجائے لیمبڈا استعمال کرسکتے ہیں!

یہاں وہی کوڈ کیسا لگتا ہے ، صرف اس فنکشن کے ساتھ جس کی جگہ لیمبڈا ہے:

بلوٹوتھ ونڈوز 10 کو بند نہیں کر سکتا۔
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)

اس مثال کو درآمد کرنے کی ضرورت ہے۔ کم سے فنکٹول ماڈیول ، لیکن فکر مت کرو ، فنکٹولز ماڈیول ازگر کور لائبریری کا حصہ ہے۔

کہانی لیمبڈا کے ساتھ بہت زیادہ ہے ، کسی فنکشن کی ضرورت نہیں ہے۔

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

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

ازگر لیمبڈاس کے ساتھ دیکھنے کی چیزیں۔

ان مثالوں نے پائتھون کور لائبریری سے نقشہ ، فلٹر اور کم کرنے کے ساتھ لیمبڈا کے افعال کو کتنا آسان دکھایا ہے۔ پھر بھی ، کچھ استعمال ہیں جہاں لیمبڈا افعال مدد نہیں کرتے ہیں۔

اگر آپ بنیادی کام سے زیادہ کچھ کر رہے ہیں ، یا دوسرے طریقوں کو کال کرنا چاہتے ہیں تو ، ایک عام فنکشن استعمال کریں۔ لیمبڈاس ایک بند ، گمنام افعال کے لئے بہت اچھے ہیں ، لیکن ان کا صرف ایک ہی اظہار ہونا ضروری ہے۔ اگر آپ کا لیمبڈا باقاعدہ اظہار کی طرح نظر آنا شروع ہو جاتا ہے ، تو شاید اب وقت آگیا ہے کہ ایک مخصوص طریقہ کار پر عمل کریں۔

مزید تجاویز کے لیے ، ہمارا چیک کریں۔ ازگر میں آبجیکٹ پر مبنی پروگرامنگ کے لیے رہنما۔ اور ازگر شروع کرنے والوں کے لیے ہمارے عمومی سوالنامہ گائیڈ کو چیک کریں۔

بانٹیں بانٹیں ٹویٹ ای میل۔ چیک کرنے کے 3 طریقے کہ آیا ای میل اصلی ہے یا جعلی۔

اگر آپ کو کوئی ای میل موصول ہوئی ہے جو قدرے مشکوک نظر آتی ہے تو ، اس کی صداقت کو جانچنا ہمیشہ بہتر ہوتا ہے۔ یہ بتانے کے تین طریقے ہیں کہ آیا ای میل اصلی ہے۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • پروگرامنگ۔
  • ازگر۔
  • کوڈنگ ٹیوٹوریل
مصنف کے بارے میں جو کوبرن۔(136 مضامین شائع ہوئے)

جو یونیورسٹی آف لنکن یونیورسٹی سے کمپیوٹر سائنس میں گریجویٹ ہیں۔ وہ ایک پیشہ ور سافٹ وئیر ڈویلپر ہے ، اور جب وہ ڈرون نہیں اڑاتا یا موسیقی نہیں لکھتا ، تو وہ اکثر تصاویر لیتے یا ویڈیو بناتے ہوئے پایا جا سکتا ہے۔

جو کوبرن سے مزید۔

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔