---
title: Python Mutability and Variable Assignments
localeTitle: بيثون التغير والواجبات المتغيرة
---
> كل كائن له هوية ونوع وقيمة. هوية الكائن لا تتغير أبدًا بمجرد إنشائه ؛ قد تفكر في ذلك كعنوان الكائن في الذاكرة. [مصدر](https://docs.python.org/3/reference/datamodel.html#data-model)

بمجرد إنشاء `object` ، لا يمكن تغيير النوع والهوية. ما إذا كانت قيمة (قيم) الكائن يمكن أن تتغير بعد أن يحدد الإنشاء ما إذا كان الكائن قابلاً للتغيير (يمكن أن يتغير) أو غير قابل للتغيير (لا يمكن تغييره).

حتى الآن تعلمناه عن أنواع قليلة من الكائنات والفئات الفرعية وهي: `string` الرمزية والرقمية (عدد صحيح، النقطة العائمة ومعقدة، ومنطقية) الكائنات. كل هذه الأشياء **غير قابلة للتغيير** .

قد يكون هذا المفهوم مربكًا في البداية لأن ما هو جيد كائن إذا كنت لا تستطيع تعديله. ما يجعل هذه الأشياء قابلة للاستخدام هي القدرة على تعيين وإعادة تعيين المتغيرات. يمكن للوظائف والمشغلين إعادة كائنات جديدة يمكن تعيينها للمتغيرات.

باستخدام [وظيفة المعرف المضمنة](https://docs.python.org/3/library/functions.html#id) ، والتي ترجع هوية الكائن ، يمكننا أن نرى كيف يعمل هذا.

وهنا بعض الأشياء أن نأخذ في الاعتبار:

*   لا يعني تعيين متغير أن _المتغير_ هو _الكائن_ . استخدمنا لغة محددة جدًا مع ملاحظة أن _عبارات المهمة_ **تربط** **اسمًا** (معرفًا) _بكائن_ . يمكن إعادة تعيين المتغيرات:

\`الثعبان

> > > أ = 1 # ربط كائن.  
> > > معرف (أ)  
> > > 140355241530152  
> > > a = 2 # Rebind a إلى كائن آخر.  
> > > معرف (أ)  
> > > 140355241530128  
> > > \`

*   قد ينتج عن تخصيص متغيرين مختلفين _للأجسام الثابتة التي_ لها نفس القيمة (غير مضمون) أنها مرتبطة بنفس _الكائن_

\`الثعبان

> > > أ = 1  
> > > ب = 1  
> > > معرف (أ)  
> > > 140355241530152  
> > > id (b) # في هذه الحالة ، تكون b و b منضماً إلى نفس الكائن.  
> > > 140355241530152  
> > > \`

*   تعيين اثنين من المتغيرات المختلفة _لimutable الكائنات_ مع قيم مختلفة سيؤدي دائما في أن يكونوا المنضم إلى _كائنات_ مختلفة:

\`الثعبان

> > > أ = 1  
> > > ب = 2  
> > > معرف (أ)  
> > > 140355241530152  
> > > معرف (ب) # أ وب منضما إلى كائنات مختلفة.  
> > > 140355241530128  
> > > \`

*   لا يؤدي تغيير المتغيرات إلى تغيير الكائن الأصلي ، بل يربطها بكائن مختلف.

\`الثعبان

> > > أ = 1  
> > > ب = 1  
> > > معرف (أ)  
> > > 140355241530152  
> > > معرف (ب)  
> > > 140355241530152  
> > > أ = 2  
> > > يتم ارتداد id (a) # a إلى كائن مختلف.  
> > > 140355241530128  
> > > معرف (ب) # ب لا يزال يرتبط بالكائن الأصلي.  
> > > 140355241530152  
> > > \`