এই সেকশনে আমরা পাইথন ব্যবহার করে এক লাইনে দুটি ভেরিয়েবল সোয়াপ করব। পাইথনে দুটি ভেরিয়েবল সোয়াপ করার স্ট্যান্ডার্ড পদ্ধতি খুব সহজ ও সহজ:
>>> a = 20; b = 30 >>> a 20 >>> b 30 >>> # Swap two variables in one line >>> a, b = b, a >>> a 30 >>> b 20
উপরের কোড a এবং b-এর সোয়াপড ভ্যালু জেনারেট করে।
ব্যাখ্যা (Explanation)
পাইথন এক্সপ্রেশন বাম থেকে ডানে ইভ্যালুয়েট করে। যাইহোক, একটি অ্যাসাইনমেন্ট ইভ্যালুয়েট করার সময়, ডান পাশটি বাম পাশের আগে ইভ্যালুয়েট হয়।
এznacrát মানে এক্সপ্রেশন a, b = b, a-র জন্য নিচের موارد:
ডান পাশ
'b, a'ইভ্যালুয়েট হয়, অর্থাৎ মেমোরিতে দুটি উপাদানের একটি টাপল তৈরি হয়। দুটি উপাদান হলbএবংaআইডেন্টিফায়ার দ্বারা ডেজিগনেটেড অবজেক্টগুলো, jotka প্রোগ্রাম এক্সিকিউশনের সময় ইনস্ট্রাকশন এনকাউন্টার করার আগে থেকেই একজিস্ট করছিল।টাপল তৈরি হওয়ার পর, কিন্তু এই টাপল অবজেক্টের কোনো অ্যাসাইনমেন্ট হয়নি, কিন্তু সেটা সমস্যা নয়, কারণ পাইথন ইন্টারনালি জানে সেটি কোথায়।
তারপর বাম পাশ ইভ্যালুয়েট হয়, অর্থাৎ মেমোরিতে সংরক্ষিত টাপলটি বাম পাশে অ্যাসাইন করা হয় কারণ বাম পাশ দুটি আইডেন্টিফায়ার
aএবংb-এর সাথে গঠিত। টাপলটি অনুক্রমে আনপ্যাক হয় যাতে প্রথম আইডেন্টিফায়ারa(বাম পাশ) টাপলের প্রথম এলিমেন্ট (যינוb) দিয়ে অ্যাসাইন হয় এবং দ্বিতীয় আইডেন্টিফায়ারbটাপলের দ্বিতীয় এলিমেন্ট (যינוa) দিয়ে অ্যাসাইন হয়।
সংক্ষেপে, এক্সপ্রেশন: "a, b = b, a", প্রথমে ডান পাশ প্রথম বাম পাশে এবং দ্বিতীয় ডান পাশ দ্বিতীয় বাম পাশে একসাথে অ্যাসাইন হয়, তাই a এবং b-এর মান সোয়াপ হয়।