Python Argparse Boolean Flag

Python Argparse Boolean Flag



جھنڈا ایک بولین متغیر ہے جو پروگرامرز کو کسی خاص صورت حال کے پیش آنے پر الرٹ کرتا ہے۔ اگر بولین جھنڈا سچ کی نمائندگی کرتا ہے، تو یہ اشارہ کرتا ہے کہ کچھ حالت موجود ہے۔ جب بولین جھنڈا غلط کی نمائندگی کرتا ہے، تو یہ ظاہر کرتا ہے کہ ایک خاص شرط درست نہیں ہے۔ اس بات کا تعین کرنے کے لیے کہ آیا پیش گوئی کا تجزیہ 'True' ہے یا 'False'، 'argparse' Boolean پرچم پاس ہونے والے دلائل کو پارس کرتا ہے۔ کمانڈ لائن آرگیومنٹس کی تشریح کے لیے ایک معیاری Python پیکیج جسے 'argparse' کہا جاتا ہے استعمال کیا جا سکتا ہے۔ یہ سرگرمی کو بہتر طریقے سے منظم کرتا ہے اور کوڈ کرنا آسان ہے۔ جب ہم کچھ غلط دلائل فراہم کرتے ہیں تو صارف کے لیے رہنمائی اور استعمال کا پیغام تیار کیا جاتا ہے۔ مزید برآں، یہ صارف کی غلطیوں کو ظاہر کرتا ہے۔ 'argparse' ماڈیول استعمال کرنا آسان ہے۔ سٹور ٹرو آپشن کی ڈیفالٹ ویلیو False ہے، جبکہ سٹور false کی ڈیفالٹ ویلیو True ہے۔ 'argparse' ماڈیول کو استعمال کرنے کے لیے، ہمیں تین اہم مراحل پر عمل کرنا ہوگا: پہلے پارسر بنانا، پارسر کو مزید دلائل دینا، اور پیرامیٹرز کی تجزیہ کرنا۔

نحو:

Python 'argparse' بولین پرچم کے لیے مطلوبہ نحو درج ذیل میں دیا گیا ہے:








نحو کو پہلے ایک فنکشن بنانے کی ضرورت ہوتی ہے جو متغیرات اور لائبریریوں کو ذخیرہ کرتا ہے جہاں دلیل کو پاس کیا جاتا ہے، اور شرط کو ضرورت کے مطابق سیٹ کیا جاتا ہے۔ ہماری شرائط کے لیے دو بولین وربوز کو 'True' یا 'False' کے لیے چیک کیا جاتا ہے۔



مثال 1: ازگر 'آرگ پارس' بولین پرچم کی پرسکون حد تک استعمال کرنا

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




اب، ہم یہاں سے اپنے کوڈ کے ٹکڑوں پر بات کرتے ہیں۔





اپنے کوڈ کے آغاز میں، ہم 'argparse' کی لائبریری درآمد کرتے ہیں جو ازگر کے دلائل کو پارس کرنے سے متعلق ہے۔ اس کے بعد، ہم اپنا صارف کی وضاحت کردہ 'argparse_Boolean' فنکشن بناتے ہیں، اور اسے لائبریری میں کہاں مختص کرنا ہے۔ پھر، ہم اپنی پہلی دلیل اپنے 'argparse_Boolan' فنکشن میں پاس کرتے ہیں جو کہ 'add_argument()' فنکشن کا استعمال کرتے ہوئے 'cars' ہے۔ منظور ہونے والی دوسری دلیل صرف ایک 'فعلی' کو تفویض کرتی ہے جہاں انجام دینے والی کارروائی جو ہم نے انہیں فراہم کی ہے وہ 'حقیقی' فعل کو ذخیرہ کرتی ہے۔ اب، ہم 'Bolean_flag' کا ایک نیا فنکشن بناتے ہیں جو دلیلوں کو پارس کرنے کے لیے پہلے سے طے شدہ لائبریری کو کال کرنے کے لیے استعمال ہوتا ہے۔ آخر میں، ہم دونوں دلیلوں کے لیے 'print()' فنکشن استعمال کرتے ہیں جو کہ 'cars' اور 'verbose' ہیں۔


پچھلے کوڈ کے ٹکڑوں سے، ہم یہ آؤٹ پٹ حاصل کرتے ہیں جہاں اسے کوئی دلیل نہیں ملتی، اس لیے یہ 'کوئی نہیں' دکھاتا ہے۔ دوسری دلیل نہیں ملتی ہے یا مماثل نہیں ہے، لہذا یہ 'غلط' فعل دیتا ہے۔



مثال 2: ازگر کے ذریعہ بولین ویلیوز کے طور پر دلائل کی تجزیہ کا استعمال

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


اس کوڈ کی مثال میں، لائبریری وہی 'آرگ پارس' رہتی ہے جو پچھلے ایک میں استعمال کی گئی ہے۔ تخلیق کردہ فنکشن کو اب 'Bolean_parser' کا نام دیا گیا ہے۔ ہم جو دلائل فراہم کرتے ہیں وہ دو متغیر ہیں – 'First_variable' اور 'Secend_variable' – جہاں پہلی دلیل کی کارروائی کو 'false' کے طور پر اسٹور کیا جاتا ہے اور دوسری دلیل کو 'true' کے طور پر اسٹور کیا جاتا ہے۔ آخر میں، ہم 'parser_args()' فنکشن کا استعمال کرتے ہوئے 'Boolan_parser' فنکشن کو کال کرتے ہیں اور اسے 'Flag_Argument' میں اسٹور کرتے ہیں۔ اس کے تصور کے لیے، ہم 'print()' فنکشن استعمال کرتے ہیں اور اسے 'Flag_Argument' میں تفویض کرتے ہیں۔


یہ پچھلے کوڈ کی مثال کا آؤٹ پٹ اسنیپ شاٹ ہے جو بولین اقدار کو 'First_Variable' کے لیے 'True' اور 'Second_variable' کے لیے 'False' کے طور پر بیان کرتا ہے۔

مثال 3: مشروط بیانات کو چلا کر 'آرگ پارس' بولین فلیگ کا استعمال

جیسا کہ نام کا مطلب ہے، آپ کے پروگرام میں شرائط کو منظم کرنے کے لیے ایک مشروط بیان استعمال کیا جاتا ہے۔ یہ طرز عمل پروگرام کے رہنما خطوط ہیں جب یہ ان حالات کے جواب میں فیصلے کرتا ہے جن کا سامنا کرنا پڑتا ہے۔ Python میں اہم مشروط بیانات 'if'، 'if-else'، اور 'switch' بیانات ہیں۔ یہاں، ہم 'اگر-اور' مشروط بیان سے گزریں گے۔


لائبریری اسی طرح رہتی ہے جیسا کہ ہم آرگیومینٹ پارس کرتے ہیں۔ ہم نے یہاں جو فنکشن بنایا ہے اسے 'parser_flag' کا نام دیا گیا ہے۔ پہلی دلیل جو ہم نے تفویض کی ہے وہ 'پرفارم ایکشن' ہے اور یہاں دی گئی ڈیفالٹ ویلیو 'فالس' ہے جہاں 'ایکشن' 'سچ' کو اسٹور کرتا ہے۔ آرگیومینٹ پاس کرنے کے بعد، ہم 'آرگیومینٹس_فلیگ' کے نام سے ایک نیا فنکشن بناتے ہیں اور اسے اس کے آرگیومینٹس کے ساتھ سابقہ ​​یوزر ڈیفائنڈ فنکشن 'parser_flag' کے ساتھ کال کرتے ہیں۔ یہاں، ہم 'اگر-اور' کے اپنے مشروط بیان کا اطلاق کرتے ہیں۔ ہماری 'اگر-حالت' اسٹور کرتی ہے اگر پاس شدہ دلیل درست ہے تو 'پرنٹ()' فنکشن اور پرنٹ اسٹیٹمنٹ 'پرفارم یور ایکشن' کے بعد۔ 'دوسری حالت' میں، اگر پہلی دلیل کا تجزیہ 'سچ' نہیں ہے، تو 'ڈیفالٹ' میں 'غلط' کا 'دوسری بیان' انجام دیں۔ آخر میں، ہم پرنٹ اسٹیٹمنٹس کے لیے دو بار 'print()' فنکشن استعمال کرتے ہیں جو آرگیومینٹس کو انجام دے کر کارروائی کو ظاہر کرتا ہے۔


آؤٹ پٹ اسنیپ شاٹ اس بات کا تعین کرتا ہے کہ پاس کردہ دلیل ہم کوڈ میں فراہم کردہ پرنٹ بیانات کے ساتھ 'غلط' فعل کے ساتھ 'دوسرے بیان' کو چلاتے ہیں۔

مثال 4: 'Distutils' ماڈیول کو آپریٹ کر کے Python 'Argparse' Boolean Flag کا استعمال

ازگر کی تنصیب 'ڈسٹوٹلز' ماڈیول کی مدد سے لائبریریوں کو مرتب اور دوبارہ انسٹال کر سکتی ہے۔ نئے ماڈیولز C میں لکھے گئے آؤٹ گروتھ ہو سکتے ہیں، سادہ Python ماڈیولز، یا ٹولز اور فیچرز کے مجموعے جن میں Python زبان میں لکھے گئے ماڈیولز شامل ہیں۔


'argparse' لائبریری کو درآمد کرنے کے بعد، ہم 'strtobool' کی اضافی لائبریری درآمد کرکے 'distutils.util' ماڈیول کا اطلاق کرتے ہیں۔ پھر، ہم 'python_argparse r' کو جلاتے ہیں اور اسے لائبریری سے جوڑ دیتے ہیں۔ اس کے بعد، ہم 'بولین' کے 'python_argparse r' میں ایک دلیل شامل کرتے ہیں۔ فراہم کردہ قسم 'lambda' ہے اور متغیر 'b' میں محفوظ ہے جسے 'strtobool' لائبریری کے ساتھ تفویض کیا گیا ہے۔ یہاں 'ڈیفالٹ' کنڈیشن کے لیے بولین ویلیو 'True' اور 'const' کو 'False' پر سیٹ کیا گیا ہے۔ تجزیہ کرنے کے بعد، ہم اسے بنانے کے بعد 'بولین_آرگیومینٹس' میں اسٹور کرتے ہیں۔ پھر، ہم 'پرنٹ()' فنکشن میں 'بولین_آرگیومینٹس' کہتے ہیں۔


جیسا کہ منظور شدہ دلیل کو پڑھا جاتا ہے، آؤٹ پٹ 'True' دکھاتا ہے کیونکہ شرط بطور ڈیفالٹ لاگو ہوتی ہے۔

مثال 5: مشروط بیانات کے ساتھ 'Distutils' ماڈیول کو آپریٹ کر کے Python 'Argparse' Boolean Flag کا استعمال

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


آئیے ایک ہی وقت میں مشروط بیان اور distutils ماڈیول کے استعمال کو دریافت کرنے کے لیے کوڈ کے ٹکڑوں پر ایک نظر ڈالیں۔ اس مقصد کے لیے، ہم 'argparse'  لائبریری درآمد کرتے ہیں اور 'distutils.util' ماڈیول کا اطلاق کرتے ہیں۔ پھر، ہم اسی طرح 'strtobool' لائبریری درآمد کرتے ہیں جو پچھلی مثال میں استعمال کی گئی ہے۔ ہم جو فنکشن بناتے ہیں اسے 'bool_parser' کا نام دیا گیا ہے تاکہ آرگیومنٹس کے لیے پارس بنایا جا سکے۔ ہم 'قسم' دلیل اور 'قسم' کو 'str'، 'نرگس' کو '؟'، 'const' کو 'False' کے طور پر اور 'default' کو 'True' کے طور پر شامل کرتے ہیں۔ اب، ہم 'bool_arguments' کا ایک نیا فنکشن بناتے ہیں جس کو ہم پچھلا فنکشن تفویض کرتے ہیں اور اس کی دلیل کے ساتھ جسے ہم پارس کرتے ہیں۔ یہاں، ہم کنڈیشن اسٹیٹمنٹ لاگو کرتے ہیں جہاں 'اگر' شرط یہ طے کرتی ہے کہ اگر پاس شدہ دلیل موجود ہے، تو یہ پرنٹ پیغام کے ساتھ 'True' دکھاتا ہے، 'آپ کا بولین فلیگ ہے'۔ اس کے بعد، یہ 'قسم' دلیل کے لفظ کو پرنٹ کرتا ہے جسے ہم نے 'print()' میں تفویض کیا ہے۔ بصورت دیگر، یہ بولین اظہار کے طور پر بطور ڈیفالٹ 'جھوٹا' ہوگا۔


آؤٹ پٹ اسنیپ شاٹ میں، ہم دیکھ سکتے ہیں کہ اگر بیان درست ہے تو یہ ہمارے پرنٹ اسٹیٹمنٹ کے ساتھ 'True' دکھاتا ہے۔

نتیجہ

اپنے مضمون میں، ہم نے بولین پرچم میں دلیل پارس کے اہم تصورات کا احاطہ کیا۔ اس مقصد کے لیے، ہم نے موضوع کی گہرائی اور آسانی سے وضاحت کے لیے پانچ مثالیں استعمال کیں۔ ہم نے 'if' یا 'else'، 'distutils' ماڈیول کے مشروط بیانات، اور 'distutil' ماڈیول کے ساتھ مشروط بیان کے استعمال کے ذریعے دلیل پارس پر تبادلہ خیال کیا۔ ان طریقوں سے، ہم نے 'True' یا 'False' کے بولین فلیگ تصور کے ساتھ دلیل کو پاس کیا۔ دلیل کو پارس کرنے کے بعد، یہ ہمارے نمائندہ اعداد و شمار کے مطابق اس کے فعل کی نمائندگی کرتا ہے۔