Google Play badge

افعال اور ماڈیولر پروگرامنگ


افعال اور ماڈیولر پروگرامنگ

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

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

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

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

فنکشن کے بنیادی اجزاء

ہر فنکشن کے کچھ اہم حصے ہوتے ہیں:

مثال کے طور پر، greet نام کا ایک سادہ فنکشن ان پٹ کے طور پر ایک نام لے سکتا ہے اور دوستانہ سلام واپس کر سکتا ہے۔ فنکشن کے مراحل بالکل سینڈوچ بنانے کی طرح کام کرتے ہیں: آپ اپنے اجزاء کا انتخاب کرتے ہیں، انہیں آپس میں ملاتے ہیں، اور پھر سینڈوچ سے لطف اندوز ہوتے ہیں۔

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

آئیے ایک مثال دیکھتے ہیں۔ فرض کریں کہ آپ ایک ایسا فنکشن چاہتے ہیں جو کسی شخص کا نام لے کر خیرمقدم کرے۔ یہاں یہ ہے کہ فنکشن کس طرح نظر آسکتا ہے:

 ڈیف سلام (نام):
    واپس "ہیلو،" + نام + "!"
  

اس فنکشن میں:

ماڈیولر پروگرامنگ کیا ہے؟

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

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

فنکشنز اور ماڈیولر پروگرامنگ کے استعمال کے فوائد

فنکشنز اور ماڈیولر پروگرامنگ استعمال کرنے کی بہت سی وجوہات ہیں:

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

افعال کی مزید مثالیں۔

یہاں مزید مثالیں ہیں جو آپ کو مختلف افعال اور وہ کیسے کام کرتی ہیں دکھاتی ہیں۔

مثال 1: دو نمبر شامل کرنا

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

مثال کے طور پر، 3 اور 2 ڈالنے سے نتیجہ 5 ملتا ہے۔ ذیل میں کوڈ دیکھیں:

 def add(a, b):
    a + b واپس کریں۔
  

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

مثال 2: جفت یا طاق نمبروں کی جانچ کرنا

یہ فنکشن آپ کو بتاتا ہے کہ آیا کوئی عدد مساوی ہے یا طاق۔ ایک عدد کو یکساں طور پر 2 سے تقسیم کیا جا سکتا ہے، جبکہ ایک طاق عدد نہیں کر سکتا۔

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

 def check_number(num):
    اگر نمبر % 2 == 0:
        واپس "بھی"
    دوسری:
        واپسی "عجیب"
  

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

مثال 3: سلام تخلیق کرنے کا فنکشن

یہ فنکشن ان پٹ کے طور پر ایک نام لیتا ہے اور ذاتی نوعیت کا سلام واپس کرتا ہے۔ مثال کے طور پر، اگر آپ "ایلس" کا نام دیتے ہیں، تو آؤٹ پٹ "ہیلو، ایلس!"

 def create_greeting(نام):
    واپس "ہیلو،" + نام + "!"
  

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

ایک پروگرام میں افعال کو یکجا کرنا

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

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

 def make_salad():
    واپس "تازہ ترکاریاں"

def make_sandwich():
    واپس "سوادج سینڈوچ"

def make_meal():
    سلاد = بنانا_سلاد ()
    سینڈوچ = بنائیں_سینڈوچ ()
    سلاد + "" + سینڈوچ کے ساتھ واپس کریں۔
  

چھوٹے فنکشنز make_salad اور make_sandwich کو ملا کر، make_meal فنکشن ایک مکمل پیغام تیار کرتا ہے۔ اگر آپ کو سینڈوچ کی ترکیب کو تبدیل کرنے کی ضرورت ہے، تو آپ صرف make_sandwich فنکشن کو تبدیل کرتے ہیں، پورے کھانے کا کوڈ نہیں۔

بڑے مسائل کو چھوٹے حصوں میں توڑنا

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

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

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

اپنا ماڈیول بنانا

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

math_tools میں، آپ کو add ، subtract ، multiply ، اور divide جیسے فنکشن ہو سکتے ہیں۔ پھر، آپ کوڈ کو دوبارہ لکھے بغیر بہت سے مختلف پروگراموں میں math_tools استعمال کر سکتے ہیں۔

 # یہ math_tools.py نامی ماڈیول کی ایک مثال ہے۔

def add(a, b):
    a + b واپس کریں۔

def منہا (a, b):
    واپسی a - b

def ضرب (a, b):
    واپس a * b

def divide (a, b):
    اگر b != 0:
        واپس a / b
    دوسری:
        واپسی "صفر سے تقسیم نہیں ہو سکتی!"
  

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

ایک سے زیادہ افعال کے ساتھ کام کرنا

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

مثال کے طور پر، ایک سادہ گیم میں move_player ، check_collision اور update_score جیسے فنکشنز ہو سکتے ہیں۔ ہر فنکشن ایک کام کے لیے ذمہ دار ہے۔ ایک ساتھ مل کر، وہ کھیل کو آسانی سے کام کرتے ہیں۔

افعال کے لیے اچھے ناموں کا انتخاب کیسے کریں۔

افعال کے لیے واضح اور سادہ ناموں کا انتخاب بہت ضروری ہے۔ ایک اچھا نام آپ کو بتاتا ہے کہ فنکشن کیا کرتا ہے۔ جب آپ calculate_total نام کا ایک فنکشن دیکھتے ہیں، تو آپ کو فوراً پتہ چل جاتا ہے کہ یہ قدروں میں اضافہ کرتا ہے۔ سادہ اور واضح نام کوڈ کو پڑھنے، سمجھنے اور استعمال کرنے میں آسان بناتے ہیں۔

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

فنکشنز میں ہینڈلنگ میں خرابی۔

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

مثال کے طور پر، ہمارے تقسیم فنکشن میں ہم دیکھتے ہیں:

 def divide (a, b):
    اگر b != 0:
        واپس a / b
    دوسری:
        واپسی "صفر سے تقسیم نہیں ہو سکتی!"
  

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

پیرامیٹرز اور دلائل کے ساتھ کام کرنا

پیرامیٹرز ایک فنکشن کے اندر جگہ دار ہیں۔ جب آپ فنکشن کو کال کرتے ہیں، تو آپ آرگیومینٹس نامی قدروں میں گزرتے ہیں۔ مثال کے طور پر، فنکشن add(a, b) میں، a اور b پیرامیٹرز ہیں۔ جب آپ فنکشن کو add(10, 5) کے ساتھ کال کرتے ہیں تو اقدار 10 اور 5 دلائل بن جاتی ہیں۔

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

فنکشنز اور ماڈیولر پروگرامنگ کی حقیقی دنیا کی ایپلی کیشنز

روزمرہ کی بہت سی ٹیکنالوجیز فنکشنز اور ماڈیولر پروگرامنگ پر انحصار کرتی ہیں۔ یہاں حقیقی زندگی سے چند مثالیں ہیں:

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

افعال کے ساتھ کام کرتے وقت عام غلطیاں

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

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

افعال اور ماڈیولز کے درمیان تعلق کو سمجھنا

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

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

ماڈیولر پروگرامنگ کے بارے میں کیسے سوچیں۔

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

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

اپنے افعال خود بنانے کے لیے نکات

اپنے افعال لکھتے وقت یہاں کچھ آسان تجاویز ہیں:

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

ایک پروگرام میں افعال استعمال کرنے کے لیے مرحلہ وار عمل

آئیے پروگرام میں فنکشن لکھنے اور استعمال کرنے کے لیے ایک سادہ مرحلہ وار عمل سے گزرتے ہیں:

  1. مرحلہ 1: ایک چھوٹے سے کام کی شناخت کریں جو کرنے کی ضرورت ہے۔ مثال کے طور پر، دو نمبر شامل کرنا۔
  2. مرحلہ 2: ایک فنکشن لکھیں جو کام کرتا ہے۔ واضح نام اور پیرامیٹرز استعمال کریں۔
  3. مرحلہ 3: مختلف ان پٹ کے ساتھ فنکشن کی جانچ کریں۔ یقینی بنائیں کہ فنکشن توقع کے مطابق کام کرتا ہے۔
  4. مرحلہ 4: جب بھی آپ کو کام کرنے کی ضرورت ہو تو اپنے مرکزی پروگرام سے فنکشن کو کال کریں۔ یہ آپ کے مرکزی پروگرام کو سادہ اور منظم رکھتا ہے۔

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

اہم نکات کا جائزہ اور خلاصہ

آئیے اس سبق کے اہم خیالات کا جائزہ لیں:

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

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

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

Download Primer to continue