পাইথন আর্গপার্স বুলিয়ান ফ্ল্যাগ

Pa Ithana Argaparsa Buliyana Phlyaga



একটি পতাকা একটি বুলিয়ান ভেরিয়েবল যা একটি নির্দিষ্ট পরিস্থিতি ঘটলে প্রোগ্রামারদের সতর্ক করে। যদি একটি বুলিয়ান পতাকা সত্য প্রতিনিধিত্ব করে, এটি নির্দেশ করে যে কিছু শর্ত বিদ্যমান। যখন একটি বুলিয়ান পতাকা মিথ্যা প্রতিনিধিত্ব করে, এটি বোঝায় যে একটি নির্দিষ্ট শর্ত সত্য নয়। পূর্বনির্ধারিত পার্সটি 'সত্য' বা 'মিথ্যা' কিনা তা নির্ধারণ করতে 'আর্গপার্স' বুলিয়ান ফ্ল্যাগটি পাস হওয়া আর্গুমেন্টগুলিকে পার্স করে। কমান্ড-লাইন আর্গুমেন্ট ব্যাখ্যা করার জন্য 'argparse' নামক একটি আদর্শ পাইথন প্যাকেজ ব্যবহার করা যেতে পারে। এটি কার্যকলাপকে আরও ভালভাবে নিয়ন্ত্রণ করে এবং কোড করা সহজ। নির্দেশিকা এবং ব্যবহারের বার্তা ব্যবহারকারীর জন্য তৈরি হয় যখন আমরা কিছু ভুল যুক্তি প্রদান করি। উপরন্তু, এটি ব্যবহারকারীর সমস্যার ত্রুটি দেখায়। 'আর্গপার্স' মডিউল ব্যবহার করা সহজ। স্টোর সত্য বিকল্পের ডিফল্ট মান হল মিথ্যা, যেখানে স্টোর মিথ্যার ডিফল্ট মান হল সত্য। 'আর্গপার্স' মডিউল ব্যবহার করতে, আমাদের অবশ্যই তিনটি মূল ধাপ মেনে চলতে হবে: প্রথমে একটি পার্সার তৈরি করা, পার্সারকে আরও আর্গুমেন্ট দেওয়া এবং প্যারামিটারের পার্সিং।

বাক্য গঠন:

পাইথন 'আর্গপার্স' বুলিয়ান পতাকার জন্য প্রয়োজনীয় সিনট্যাক্স নিম্নলিখিতটিতে দেওয়া হয়েছে:








সিনট্যাক্সের জন্য প্রথমে একটি ফাংশন তৈরি করতে হবে যা ভেরিয়েবল এবং লাইব্রেরিগুলি সংরক্ষণ করে যেখানে আর্গুমেন্ট পাস করা হয় এবং শর্তটি প্রয়োজন অনুসারে সেট করা হয়। দুটি বুলিয়ান ভার্বোজ আমাদের শর্তগুলির জন্য 'সত্য' বা 'মিথ্যা' জন্য পরীক্ষা করা হয়।



উদাহরণ 1: পাইথন 'আর্গপার্স' বুলিয়ান ফ্ল্যাগের একটি শান্ত পরিমাণ ব্যবহার করা

সাধারণ বুলিয়ান পতাকাটি কেবল যুক্তিগুলিকে পার্স করে যা একক বা একাধিক আর্গুমেন্ট হতে পারে যা আর্গুমেন্টের দৃশ্যের দিকে তাকায়, পাস করা শর্তটি 'সত্য' বা 'মিথ্যা' কিনা।




এখন, এখান থেকে আমাদের কোড স্নিপেট নিয়ে আলোচনা করা যাক।





আমাদের কোডের শুরুতে, আমরা 'আর্গপার্স' এর লাইব্রেরি আমদানি করি যা পাইথন আর্গুমেন্ট পার্স করার সাথে সম্পর্কিত। তারপর, আমরা আমাদের ব্যবহারকারী-সংজ্ঞায়িত 'argparse_Boolian' ফাংশন তৈরি করি এবং এটি লাইব্রেরিতে কোথায় বরাদ্দ করতে হবে। তারপর, আমরা আমাদের 'argparse_Boolian' ফাংশনে আমাদের প্রথম আর্গুমেন্ট পাস করি যা 'add_argument()' ফাংশন ব্যবহার করে 'cars'। পাস করা দ্বিতীয় যুক্তিটি কেবল একটি 'ভার্বোজ' বরাদ্দ করে যেখানে সঞ্চালিত ক্রিয়াটি আমরা তাদের সরবরাহ করেছি যেটি 'সত্য' ভার্বোজ সংরক্ষণ করে। এখন, আমরা 'বুলিয়ান_ফ্ল্যাগ' এর একটি নতুন ফাংশন তৈরি করি যা আর্গুমেন্ট পার্স করার জন্য পূর্বনির্ধারিত লাইব্রেরি কল করতে ব্যবহৃত হয়। সবশেষে, আমরা 'cars' এবং 'verbose' উভয় আর্গুমেন্টের জন্য 'print()' ফাংশন ব্যবহার করি।


পূর্ববর্তী কোড স্নিপেট থেকে, আমরা এই আউটপুটটি পাই যেখানে এটি কোন আর্গুমেন্ট পায় না, তাই এটি 'কিছুই নয়' প্রদর্শন করে। দ্বিতীয় যুক্তিটি খুঁজে পাওয়া যায় না বা মেলে না, তাই এটি 'মিথ্যা' শব্দচয়ন দেয়।



উদাহরণ 2: বুলিয়ান মান হিসাবে পাইথন দ্বারা প্ররোচিত আর্গুমেন্ট পার্সিং ব্যবহার করা

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


এই কোড উদাহরণে, লাইব্রেরিটি একই 'আর্গপার্স' রয়ে গেছে যা আগেরটিতে ব্যবহার করা হয়েছে। তৈরি করা ফাংশনটির নাম এখন 'বুলিয়ান_পার্সার'। আমরা যে আর্গুমেন্টগুলি প্রদান করি তা হল দুটি ভেরিয়েবল – “প্রথম_ভেরিয়েবল” এবং “দ্বিতীয়_ভেরিয়েবল” – যেখানে প্রথম আর্গুমেন্টের ক্রিয়াটি “মিথ্যা” হিসাবে সংরক্ষণ করা হয় এবং দ্বিতীয় যুক্তিটি “সত্য” হিসাবে সংরক্ষণ করা হয়। সবশেষে, আমরা 'পার্সার_আর্গস()' ফাংশন ব্যবহার করে 'বুলিয়ান_পার্সার' ফাংশনকে কল করি এবং এটিকে 'ফ্ল্যাগ_আর্গুমেন্ট' এ সংরক্ষণ করি। এর ভিজ্যুয়ালাইজেশনের জন্য, আমরা 'print()' ফাংশন ব্যবহার করি এবং 'Flag_Argument' এ বরাদ্দ করি।


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

উদাহরণ 3: শর্তসাপেক্ষ বিবৃতি পরিচালনা করে 'আর্গপার্স' বুলিয়ান পতাকা ব্যবহার করা

নামটি বোঝায়, শর্তগুলি পরিচালনা করতে আপনার প্রোগ্রামে একটি শর্তসাপেক্ষ বিবৃতি ব্যবহার করা হয়। এই অনুশীলনগুলি হল প্রোগ্রামের নির্দেশিকা যখন এটি পরিস্থিতির সম্মুখীন হওয়ার প্রতিক্রিয়া হিসাবে রায় দেয়। পাইথনের প্রধান শর্তসাপেক্ষ বিবৃতিগুলি হল “If”, “if-else”, এবং “switch” স্টেটমেন্ট। এখানে, আমরা 'if-else' শর্তসাপেক্ষ বিবৃতি দিয়ে যাব।


লাইব্রেরি একই 'আর্গপার্স' থাকে যেভাবে আমরা আর্গুমেন্ট পার্সিংয়ের সাথে কাজ করি। আমরা এখানে যে ফাংশনটি তৈরি করেছি তার নাম “parser_flag”। আমরা যে প্রথম আর্গুমেন্ট বরাদ্দ করেছি তা হল 'পারফর্ম-অ্যাকশন' এবং এখানে দেওয়া ডিফল্ট মান হল 'ফলস' যেখানে 'অ্যাকশন' 'সত্য' সংরক্ষণ করে। আর্গুমেন্ট পাস করার পর, আমরা 'আর্গুমেন্টস_ফ্ল্যাগ' নামে একটি নতুন ফাংশন তৈরি করি এবং এটিকে এর আর্গুমেন্ট সহ আগের ব্যবহারকারী-নির্ধারিত ফাংশন 'পার্সার_ফ্ল্যাগ' দিয়ে কল করি। এখানে, আমরা আমাদের শর্তসাপেক্ষ বিবৃতি প্রয়োগ করি “if-else”। 'প্রিন্ট()' ফাংশন এবং প্রিন্ট স্টেটমেন্ট 'পারফর্ম ইওর অ্যাকশন' অনুসরণ করে পাস করা যুক্তিটি সত্য হলে আমাদের 'যদি-শর্ত' সংরক্ষণ করে। 'অন্য শর্তে', যদি প্রথম আর্গুমেন্ট পার্সটি 'সত্য' না হয়, তাহলে 'ডিফল্ট' তে 'মিথ্যা' এর 'অন্য-বিবৃতি' সম্পাদন করুন। সবশেষে, আমরা প্রিন্ট স্টেটমেন্টের জন্য দুবার “print()” ফাংশন ব্যবহার করি যা আর্গুমেন্ট সম্পাদন করে ক্রিয়া প্রদর্শন করে।


আউটপুট স্ন্যাপশট নির্ধারণ করে যে পাস করা আর্গুমেন্ট 'অন্য-বিবৃতি' চালায় 'মিথ্যা' ভার্বস সহ আমরা কোডে যে প্রিন্ট স্টেটমেন্ট দিয়ে থাকি।

উদাহরণ 4: 'Distutils' মডিউল পরিচালনা করে Python 'Argparse' বুলিয়ান ফ্ল্যাগ ব্যবহার করা

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


'argparse' লাইব্রেরি আমদানি করার পরে, আমরা 'strtobool' এর অতিরিক্ত লাইব্রেরি আমদানি করে 'distutils.util' মডিউল প্রয়োগ করি। তারপর, আমরা 'python_argparse r' দাহ করি এবং লাইব্রেরির সাথে লিঙ্ক করি। এর পরে, আমরা 'বুলিয়ান' এর 'python_argparse r' এ একটি আর্গুমেন্ট যোগ করি। প্রদত্ত টাইপ হল 'lambda' এবং ভেরিয়েবল 'b' এ সংরক্ষণ করা হয় যা 'strtobool' লাইব্রেরির সাথে বরাদ্দ করা হয়। এখানে 'ডিফল্ট' অবস্থার জন্য বুলিয়ান মান 'True' এবং 'const' সেট করা হয়েছে 'False'। পার্স করার পরে, আমরা এটি তৈরি করার পরে 'বুলিয়ান_আর্গুমেন্টস' এ সংরক্ষণ করি। তারপর, আমরা 'প্রিন্ট()' ফাংশনে 'বুলিয়ান_আর্গুমেন্টস' কল করি।


পাস করা যুক্তি পড়া হলে, আউটপুট 'সত্য' প্রদর্শন করে কারণ শর্তটি ডিফল্টরূপে প্রয়োগ করা হয়।

উদাহরণ 5: শর্তসাপেক্ষ বিবৃতি সহ 'Distutils' মডিউলটি পরিচালনা করে পাইথন 'আর্গপার্স' বুলিয়ান ফ্ল্যাগ ব্যবহার করা

বুলিয়ান ফ্ল্যাগে আর্গুমেন্ট পার্সিং এর ঘটনাটি বাস্তবায়ন করতে ডিস্টুটিলস মডিউল সহ শর্তসাপেক্ষ বিবৃতিগুলি পরিচালনা করা যেতে পারে।


চলুন কন্ডিশনাল স্টেটমেন্ট এবং ডিস্টুটিলস মডিউল একসাথে একই সাথে ব্যবহার করার জন্য কোড স্নিপেটটি দেখে নেওয়া যাক। এই উদ্দেশ্যে, আমরা 'argparse' লাইব্রেরি আমদানি করি এবং 'distutils.util' মডিউল প্রয়োগ করি। তারপর, আমরা একইভাবে 'strtobool' লাইব্রেরি আমদানি করি যা আগের উদাহরণে ব্যবহৃত হয়েছে। আর্গুমেন্টের জন্য পার্স তৈরি করার জন্য আমরা যে ফাংশনটি তৈরি করি তার নাম 'বুল_পার্সার'। আমরা 'প্রকার' আর্গুমেন্ট এবং 'টাইপ' সেটটি 'str', 'নার্গস' হিসাবে '?' হিসাবে, 'const' কে 'False' হিসাবে এবং 'default' কে 'True' হিসাবে যোগ করি। এখন, আমরা 'বুল_আর্গুমেন্টস' এর একটি নতুন ফাংশন তৈরি করি যাকে আমরা পূর্ববর্তী ফাংশনটি বরাদ্দ করি এবং এর আর্গুমেন্টটি আমরা পার্স করি। এখানে, আমরা শর্ত বিবৃতিটি প্রয়োগ করি যেখানে 'if' শর্ত নির্ধারণ করে যে পাস করা আর্গুমেন্ট উপস্থিত থাকলে, এটি প্রিন্ট বার্তার সাথে 'True' প্রদর্শন করে, 'আপনার বুলিয়ান পতাকা'। তারপর, এটি 'প্রিন্ট()' এ আমরা নির্ধারিত 'কাইন্ড' আর্গুমেন্টের ভার্বোজ প্রিন্ট করে। অন্যথায়, এটি একটি বুলিয়ান অভিব্যক্তি হিসাবে ডিফল্টরূপে 'মিথ্যা' হবে।


আউটপুট স্ন্যাপশটে, আমরা দেখতে পারি যে যদি-বিবৃতিটি সত্য তাই এটি আমাদের প্রিন্ট স্টেটমেন্টের সাথে 'True' প্রদর্শন করে।

উপসংহার

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