পাইথনে ভেরিয়েবল কনসেপ্ট C/C++- থেকে আলাদা। C/C++-তে, ভেরিয়েবল হলো মেমরিতে একটি নামযুক্ত লোকেশন। একটি ভেরিয়েবলের ভ্যালু অন্যটিকে অ্যাসাইন করলেও, সেটি অন্য লোকেশনে একটি কপি তৈরি করে।
int x=5; int y=x;
উদাহরণস্বরূপ C++-এ, & অপারেটর ডিক্লেয়ারড ভেরিয়েবলের অ্যাড্রেস রিটার্ন করে।
cout<এটি
xএবংy-এর ভিন্ন অ্যাড্রেস প্রিন্ট করবে এমনকি দুটোই একই ভ্যালু ধারণ করলেও। আপনি এর একটি অ্যালিয়াস তৈরি করতে পারেন অ্যাড্রেস একটি রেফারেন্স ভেরিয়েবলে স্টোর করে -int x=5; int &y=x; y=10; cout<এটি দুটি ভেরিয়েবলই ১০ দেখাবে। এখানে,
yহলোx-এর একটি রেফারেন্স। সুতরাং সেগুলো একসাথে ব্যবহার করা যায়।তবে, পাইথনে, ভেরিয়েবল হলো মেমরিতে একটি অবজেক্টের শুধু একটি নাম। এমনকি যদি আমরা এর ভ্যালু অন্য ভেরিয়েবলে অ্যাসাইন করি, তবে দুটোই আসলে মেমরিতে একই অবজেক্টকে রেফার করে। এটি
id()ফাংশন দিয়ে ভেরিফাই করা যায়।>>> x=5 >>> y=x >>> id(x), id(y) (1486402752, 1486402752)সুতরাং স্পষ্ট যে পাইথনে, আমরা একটি ভেরিয়েবলে রেফারেন্স অ্যাসাইন করতে পারি না।