পাইথনের ইন্টারেক্টিভ মোড REPL এর নীতিতে কাজ করে (পড়ুন - মূল্যায়ন করুন - মুদ্রণ করুন - লুপ)। পাইথনের স্ট্যান্ডার্ড লাইব্রেরিতে কোড মডিউল পাইথন স্ক্রিপ্টের মধ্যে থেকে REPL পরিবেশ সেট আপ করার জন্য ক্লাস এবং সুবিধার ফাংশন প্রদান করে।
কোড মডিউলে নিম্নলিখিত দুটি শ্রেণী সংজ্ঞায়িত করা হয়েছে:
ইন্টারেক্টিভ ইন্টারপ্রেটার: এই ক্লাসটি পার্সিং এবং ইন্টারপ্রেটার স্টেট (ব্যবহারকারীর নামস্থান)
নিয়ে কাজ করেইন্টারেক্টিভ কনসোল: ইন্টারেক্টিভ পাইথন ইন্টারপ্রেটারের আচরণ ঘনিষ্ঠভাবে অনুকরণ করুন।
মডিউলে দুটি সুবিধার ফাংশন হল:
মিথস্ক্রিয়া(): রিড-ইভাল-প্রিন্ট লুপ চালানোর জন্য সুবিধার ফাংশন।
compile_command(): এই ফাংশনটি সেই প্রোগ্রামগুলির জন্য দরকারী যেগুলি পাইথনের ইন্টারপ্রেটার প্রধান লুপ (REPL) অনুকরণ করতে চায়।
ইন্টারেক্টিভ ইন্টারপ্রেটার পদ্ধতি
রানসোর্স(): দোভাষীতে কিছু উৎস সংকলন করুন এবং চালান।
রানকোড(): একটি কোড অবজেক্ট চালান
ইন্টারেক্টিভ কনসোল পদ্ধতি:
যেহেতু InteractiveConsole ক্লাসটি InteractiveInterpreter-এর একটি সাবক্লাস, উপরের পদ্ধতিগুলি স্বয়ংক্রিয়ভাবে উপলব্ধ। উপরন্তু নিম্নলিখিত পদ্ধতি সংজ্ঞায়িত করা হয়.
মিথস্ক্রিয়া(): ইন্টারেক্টিভ পাইথন কনসোল ঘনিষ্ঠভাবে অনুকরণ করুন।
ধাক্কা(): দোভাষীর কাছে উৎস পাঠের একটি লাইন চাপুন।
রিসেটবাফার(): ইনপুট বাফার থেকে কোনো আন-হ্যান্ডেলড সোর্স টেক্সট সরান।
raw_input(prompt="")
একটি প্রম্পট লিখুন এবং sys.stdin
থেকে ডিফল্টরূপে একটি লাইন পড়ুনউদাহরণ
import code x = 10 y = 20 def add(x,y): return x+y print (add(x,y)) code.interact(local=locals()) print (x,y) print (add(x,y))
উপরের কোডে, দুটি ভ্যাইবল সংজ্ঞায়িত করা হয়েছে এবং একটি ফাংশনে পাস করা হয়েছে। আমরা তাকে ইন্টারেক্টিভ কনসোল আহ্বান করি। আর্গুমেন্ট local=locals() দোভাষী লুপের মধ্যে স্থানীয় নামস্থানকে ডিফল্ট হিসাবে ব্যবহার করার অনুমতি দেয়।
আপনি যদি ভেরিয়েবলে বিভিন্ন মান নির্ধারণ করেন এবং ctrl+D টিপে কনসোল থেকে প্রস্থান করেন, সেই মানগুলি এখন ফাংশনে প্রেরণ করা হয়
আউটপুট
addition= 30 Python 3.6.6 |Anaconda custom (64-bit)| (default, Oct 9 2018, 12:34:16) [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> x=100 >>> y=200 >>> now exiting InteractiveConsole... 100 200 addition = 300