কম্পিউটার

পাইথনে লাইন-ভিত্তিক কমান্ড ইন্টারপ্রেটারের জন্য সমর্থন


cmd মডিউলে Cmd নামে একটি মাত্র শ্রেণী রয়েছে। এটি লাইন ওরিয়েন্টেড কমান্ড লাইন ইন্টারপ্রেটারের জন্য ব্যবহারকারীর সংজ্ঞায়িত ফ্রেমওয়ার্কের জন্য বেস ক্লাস হিসাবে ব্যবহৃত হয়।

Cmd

এই শ্রেণীর একটি অবজেক্ট বা এর সাবক্লাস লাইন ওরিয়েন্টেড ইন্টারপ্রেটার ফ্রেমওয়ার্ক প্রদান করে। সাবক্লাস দ্বারা উত্তরাধিকারসূত্রে প্রাপ্ত এই শ্রেণীর গুরুত্বপূর্ণ পদ্ধতিগুলি নীচে তালিকাভুক্ত করা হয়েছে৷

cmdloop()

এই পদ্ধতিটি লুপে অবজেক্ট পাঠায়, ইনপুট গ্রহণ করে এবং ক্লাসের উপযুক্ত কমান্ড হ্যান্ডলার পদ্ধতিতে পাঠায়।

লুপ শুরু হওয়ার সাথে সাথে একটি পরিচায়ক বার্তা (cmdloop() পদ্ধতিতে প্যারামিটার হিসাবে দিন) একটি ডিফল্ট (cmd) প্রম্পট সহ প্রদর্শিত হবে যা প্রম্পট বৈশিষ্ট্য দ্বারা কাস্টমাইজ করা যেতে পারে৷

ইন্টারপ্রেটার অবজেক্ট ব্যবহারকারীর ইনপুটকে দুটি অংশে স্বীকৃতি দেয়। 'do_' এর সাথে প্রিফিক্স করা প্রথম অংশটিকে ক্লাসে পদ্ধতি এবং দ্বিতীয় অংশটিকে পদ্ধতির প্যারামিটার হিসাবে বিবেচনা করা হয়। উদাহরণস্বরূপ, যদি ব্যবহারকারী 'হ্যালো পাইথন' এ প্রবেশ করে, ইন্টারপ্রেটার ক্লাসে do_hello() পদ্ধতি চালানোর চেষ্টা করে এবং প্যারামিটার হিসেবে 'Python' পাঠায়। উল্লিখিত পদ্ধতি সংজ্ঞায়িত করা হলে, এটি কার্যকর করা হবে, অন্যথায় ত্রুটি বার্তা প্রদর্শিত হবে৷

Cmd-এর সাবক্লাস do_help() পদ্ধতির উত্তরাধিকারী হয়। ব্যবহারকারীর ইনপুট যেমন 'হেল্প হ্যালো' hello() পদ্ধতিতে ডকস্ট্রিং আনবে এবং এটিকে সহায়তা পাঠ্য হিসাবে প্রদর্শন করবে, অথবা যদি উপস্থিত থাকে, তাহলে help_hello() পদ্ধতি চালানো হবে৷

নিম্নলিখিত উদাহরণ লাইন ওরিয়েন্টেড ইন্টারপ্রেটার ফ্রেমওয়ার্কের প্রয়োগ দেখায়। কোডটি প্রথমে cmd মডিউল আমদানি করে এবং Cmd ক্লাসের একটি সাবক্লাস সংজ্ঞায়িত করে।

MathOps ক্লাস ডকস্ট্রিং টেক্সট সহ add, sub, mul এবং div পদ্ধতিগুলিকে সংজ্ঞায়িত করে (সমস্ত do_ অক্ষর সহ)।

MathOps ক্লাসের অবজেক্ট ঘোষণা করা হয় এবং cmdloop() পদ্ধতিতে কল করে একটি লুপে পাঠানো হয়। যখন ব্যবহারকারীর প্রকারগুলি প্রম্পটের সামনে সাহায্য করে, তখন সমস্ত পদ্ধতির নাম প্রদর্শিত হয়। সাহায্য সহ একটি পদ্ধতির নাম টাইপ করা হলে, সংশ্লিষ্ট পদ্ধতির ডকস্ট্রিং প্রদর্শিত হয়। যে কোনো পদ্ধতিতে কল করতে, এর নাম টাইপ করুন, প্রয়োজনীয় আর্গুমেন্ট এবং এন্টার টিপুন। পদ্ধতির ফলাফল প্রদর্শিত হবে এবং লুপ বন্ধ করতে ^D জারি না হওয়া পর্যন্ত প্রম্পট বারবার ফিরে আসবে।

cmd import Cmdclass MathOps(Cmd):def do_add(self, args):'''দুটি সংখ্যা যোগ করুন'''num=args.split()প্রিন্ট ('সংযোজন:',int(num[0]) +int(num[1]))def do_sub(self, args):'''দুটি সংখ্যা বিয়োগ করুন''' num=args.split()প্রিন্ট ('বিয়োগ:',int(সংখ্যা[0])-int( সংখ্যা ]))def do_div(self, args):'''perform division'''num=args.split()print ('division:',int(num[0])/int(num[1]))def do_EOF(self, args):রিটার্ন Trueop=MathOps()op.prompt="->"op.cmdloop("লুপ শুরু হয়। প্রস্থান করতে ^D টিপুন")

উপরের স্ক্রিপ্টের নমুনা নিচে দেখানো হয়েছে

লুপ শুরু হয়। প্রস্থান করতে ^D টিপুন->helpDocumented কমান্ড (টাইপ সাহায্য):========================================div help mul সাবঅনডকুমেন্টেড কমান্ড যোগ করুন:======================EOF->দুটি সংখ্যা যোগ করতে সাহায্য করুন->5 যোগ করুন 7 যোগ করুন:12->ডিভ 10 5 বিভাগ:2.0->>>>
  1. নতুনদের জন্য পাইথনে ক্লাস এবং অবজেক্ট

  2. পাইথন প্রোগ্রাম জটিল সংখ্যা বস্তুর জন্য ক্লাস সংজ্ঞায়িত করতে

  3. পাইথনে Tkinter বোতামের জন্য কমান্ড পদ্ধতি পরিবর্তন করুন

  4. কিভাবে পাইথনে ক্লাস পদ্ধতি ওভাররাইড করবেন?