freeCodeCamp/guide/arabic/python/mutability-and-variable-ass.../index.md

3.5 KiB

title localeTitle
Python Mutability and Variable Assignments بيثون التغير والواجبات المتغيرة

كل كائن له هوية ونوع وقيمة. هوية الكائن لا تتغير أبدًا بمجرد إنشائه ؛ قد تفكر في ذلك كعنوان الكائن في الذاكرة. مصدر

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

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

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

باستخدام وظيفة المعرف المضمنة ، والتي ترجع هوية الكائن ، يمكننا أن نرى كيف يعمل هذا.

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

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

`الثعبان

أ = 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
`