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