Google Play badge

افعال کی تعریف


افعال کی تعریف کرنا

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

تعارف

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

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

ایک فنکشن کیا ہے؟

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

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

ہم افعال کیوں استعمال کرتے ہیں؟

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

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

فنکشن کی وضاحت کیسے کریں۔

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

مثال:

 def say_hello():
    پرنٹ ("ہیلو، دوست!")
  

اس مثال میں، فنکشن کہا جاتا ہے say_hello ۔ لفظ def کمپیوٹر کو بتاتا ہے کہ ہم ایک فنکشن کی تعریف کر رہے ہیں۔ فنکشن ایک کام کرتا ہے: یہ اسکرین پر ایک دوستانہ پیغام پرنٹ کرتا ہے۔

ایک بار جب ہم اس فنکشن کی وضاحت کر لیتے ہیں، تو ہم اسے بعد میں اپنے پروگرام میں استعمال کر سکتے ہیں۔ اسے فنکشن کال کرنا کہتے ہیں۔ جب بھی فون کیا جائے گا تو کمپیوٹر فنکشن کے اندر موجود تمام مراحل کو انجام دے گا۔

افعال کی سادہ مثالیں۔

اب، ہم افعال کی تین سادہ مثالیں دیکھیں گے۔ وہ سمجھنے میں آسان ہیں اور بنیادی خیالات کو سیکھنے میں ہماری مدد کرتے ہیں۔

مثال 1: گریٹنگ فنکشن

پہلی مثال میں، ہم ایک فنکشن بناتے ہیں جو کسی کا نام لے کر سلام کرتا ہے۔ جب ہم فنکشن کو کال کریں گے تو یہ ایک دوست کو ہیلو کہے گا۔

کوڈ:

 ڈیف سلام (نام):
    پرنٹ ("ہیلو،" + نام + "!")
  
# فنکشن کو "ایلس" کے نام سے کال کرنا
سلام ("ایلس")
  

مرحلہ وار وضاحت:

مثال 2: اضافہ فنکشن

دوسری مثال میں، ہم ایک فنکشن لکھتے ہیں جس میں دو نمبر شامل ہوتے ہیں۔ یہ ایک چھوٹے کیلکولیٹر کی طرح ہے جو اعداد کو ایک ساتھ جوڑتا ہے۔

کوڈ:

 def add_numbers(num1, num2):
    نتیجہ = num1 + num2
    پرنٹ ("رقم ہے:"، نتیجہ)
  
# نمبر 3 اور 5 کے ساتھ فنکشن کو کال کرنا
add_numbers(3, 5)
  

مرحلہ وار وضاحت:

مثال 3: ضرب فعل

تیسری مثال میں، ہم ایک فنکشن بنائیں گے جو ایک عدد کو 2 سے ضرب دیتا ہے۔

کوڈ:

 def multiply_by_two(x):
    new_value = x * 2
    نئی_قدر واپس کریں۔
  
# فنکشن کو کال کرنا اور نتیجہ محفوظ کرنا
نتیجہ = ضرب_سے_دو(4)
پرنٹ کریں ("4 ضرب 2 ہے"، نتیجہ)
  

مرحلہ وار وضاحت:

پیرامیٹرز اور ریٹرن ویلیوز کو سمجھنا

افعال پیرامیٹرز کے ذریعے باہر سے معلومات کو قبول کر سکتے ہیں۔ پیرامیٹر ایک متغیر ہے جو ڈیٹا رکھتا ہے جب کسی فنکشن کو بلایا جاتا ہے۔ ہماری مثالوں میں، نام ، num1 ، num2 ، اور x پیرامیٹرز ہیں۔

کچھ فنکشنز ویلیو واپس کرتے ہیں ۔ واپسی کی قدر وہ نتیجہ ہے جو فنکشن اپنا کام کرنے کے بعد واپس دیتا ہے۔ مثال 3 میں، فنکشن multiply_by_two ایک قدر لوٹاتا ہے جو پھر متغیر میں محفوظ ہو جاتا ہے۔

پیرامیٹرز اور واپسی کی اقدار کے استعمال کا خیال افعال کو لچکدار اور طاقتور بناتا ہے۔ آپ مختلف آؤٹ پٹس حاصل کرنے کے لیے ان پٹ کو تبدیل کر سکتے ہیں، بالکل اسی طرح جیسے کسی ترکیب میں اجزاء کو تبدیل کرنے سے مختلف ذائقے ہو سکتے ہیں۔

ماڈیولر پروگرامنگ: مسائل کو ٹکڑوں میں توڑنا

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

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

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

یہ نقطہ نظر ایک ایسے مددگار کے مترادف ہے جو جوتوں کے فیتے باندھنا جانتا ہے، لہذا آپ کو ہر بار جوتوں کا نیا جوڑا ملنے پر اسے دوبارہ سیکھنے کی ضرورت نہیں ہے۔

متعلقہ روزمرہ کی مثالیں۔

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

ایک اور مثال سینڈوچ بنانا ہے۔ پہلے آپ روٹی کے دو سلائس لیں۔ پھر، آپ مکھن، پنیر، اور شاید ہیم کا ایک ٹکڑا شامل کریں. آخر میں، آپ نے دونوں سلائسیں ایک ساتھ ڈال دیں۔ ہر قدم ایک فنکشن کی لائنوں کی طرح واضح اور سادہ ہے۔ ہر بار اقدامات پر عمل کرکے، آپ شروع سے ہر ایک قدم کے بارے میں سوچے بغیر ایک مزیدار سینڈوچ بناتے ہیں۔

یہ روزمرہ کی مثالیں ظاہر کرتی ہیں کہ فنکشنز ہمیں بہت سے کاموں کو صاف، سادہ حصوں میں توڑ کر کرنے میں مدد کرتے ہیں۔

افعال کی تعریف کے بارے میں مزید

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

عمومی ساخت:

 def function_name(پیرامیٹر1، پیرامیٹر2، ...):
    # کوڈ بلاک
    اگر ضرورت ہو تو کچھ_قدر واپس کریں۔
  

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

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

افعال کی ضروری خصوصیات

یہاں افعال کی کچھ اہم خصوصیات ہیں جو آپ کو یاد رکھنا چاہئے:

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

تغیرات اور مزید جدید خیالات

جیسے جیسے آپ افعال کے خیال سے زیادہ آرام دہ ہو جاتے ہیں، آپ کو کچھ تغیرات کا سامنا کرنا پڑ سکتا ہے۔ بعض اوقات افعال کچھ بھی نہیں لوٹاتے۔ وہ صرف اعمال انجام دیتے ہیں. دوسری بار، افعال دوسرے افعال کو کال کر سکتے ہیں۔ اسے نیسٹنگ فنکشنز یا فنکشن کمپوزیشن کہا جاتا ہے۔

مثال کے طور پر، کوئی فنکشن کوئی اور کام کرنے سے پہلے گریٹنگ فنکشن کو کال کر سکتا ہے۔ فنکشنز کی یہ تہہ بندی آپ کو بہت سے چھوٹے، آسان کاموں سے پیچیدہ پروگرام بنانے دیتی ہے۔

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

اضافی مثالیں اور مرحلہ وار حل

آئیے ہم دو مزید تفصیلی مثالوں کو دیکھتے ہیں جو یہ بتاتے ہیں کہ افعال کس طرح قدم بہ قدم کام کرتے ہیں۔

مثال 4: ایون نمبرز چیک کرنے کا فنکشن

 def is_even(نمبر):
    # چیک کریں کہ آیا نمبر برابر ہے۔
    اگر نمبر % 2 == 0:
        واپس سچ
    دوسری:
        غلط واپسی

# نمبر 6 کو چیک کرنے کے لیے فنکشن کا استعمال
نتیجہ = is_even(6)
پرنٹ ("کیا 6 برابر ہے؟"، نتیجہ)
  

مرحلہ وار وضاحت:

مثال 5: مربع کے رقبے کا حساب لگانے کا فنکشن

 def area_of_square(side_length):
    # فارمولے کا استعمال کرتے ہوئے علاقے کا حساب لگائیں: رقبہ = سائیڈ_لمبائی * سائیڈ_لمبتھ
    رقبہ = side_length * side_length
    واپسی کے علاقے

# 5 کی طرف کی لمبائی والے مربع کے رقبے کا حساب لگانے کے لیے فنکشن کا استعمال
مربع_رقبہ = مربع_کا_رقبہ(5)
پرنٹ ("مربع کا رقبہ ہے"، مربع_رقبہ)
  

مرحلہ وار وضاحت:

مثال 6: دو نمبروں کے بڑے کا تعین کرنے کا فنکشن

 def larger_number(a, b):
    # دو نمبروں کا موازنہ کریں اور بڑے کو واپس کریں۔
    اگر a > b:
        واپسی a
    دوسری:
        واپسی ب

# 7 اور 10 کے درمیان بڑی تعداد کو تلاش کرنے کے لیے فنکشن کا استعمال
سب سے بڑا = بڑا_نمبر(7، 10)
پرنٹ ("بڑی تعداد ہے"، سب سے بڑی)
  

مرحلہ وار وضاحت:

ماڈیولرٹی کے لیے فنکشنز کیوں اہم ہیں۔

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

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

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

کلیدی نکات کا خلاصہ

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

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

پروگرامنگ کے ساتھ سیکھتے رہیں، دریافت کرتے رہیں اور مزے کرتے رہیں۔ فنکشنز تخلیقی اور مفید کوڈ لکھنے کا پہلا قدم ہیں!

Download Primer to continue