طريقة معرفة عنوان المتغير أو الكائن في الذاكرة
لمعرفة المكان أو العنوان المحجوز في الذاكرة لأي شيء تم تعريفه يمكنك إستخدام الدالة id()
.
بكل بساطة قم بوضع إسم أي متغير أو كائن بداخلها و سترجع لك عدد صحيح يمثل عنوانه في الذاكرة.
المثال الأول
# هنا قمنا بتعريف متغيران عندهم قيم مختلفة x = 3 y = 7 # هنا قمنا بطباعة عناوينهم في الذاكرة print('x address is:', id(x)) print('y address is:', id(y))
سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل.
y address is: 1537266832
نلاحظ أن عنوان المتغير x
مختلف عن عنوان المتغير y
و بالتالي هذا يعني أنه تم حجز مساحة خاصة لكل واحد منهما و أنهما يشيران لمكانين مختلفين في الذاكرة.
ملاحظة
في حال قمت بتعريف متغيران أو أكثر و أعطيتهم نفس القيمة, فإن مفسّر لغة بايثون سيحجز مكان واحد لهم و يضع فيه القيمة حتى يوّفر في استهلاك مساحة الذاكرة.
المثال الثاني
# هنا قمنا بتعريف متغيران عندهم قيم مختلفة x = 5 y = 5 # هنا قمنا بطباعة عناوينهم في الذاكرة print('x address is:', id(x)) print('y address is:', id(y))
سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل.
y address is: 1833030700
نلاحظ أن عنوان المتغير x
هو نفسه عن عنوان المتغير y
و بالتالي هذا يعني أنه تم حجز مساحة واحدة لكلا المتغيرين و أنهما يشيران إلى نفس المكان في الذاكرة.