الانتقال إلى المحتوى الرئيسي

حول تمرير الأشياء بالرجوع إليها في بايثون: المفاهيم والمبادئ الأساسية

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

يعد مفهوم تمرير الكائنات بالرجوع أمرا مهما في بايثون ، حيث يسمح لك بتحسين كفاءة الذاكرة وتقليل مقدار استخدام موارد الكمبيوتر. بالإضافة إلى ذلك ، يمكن أن يكون المرور بالمرجع مفيدا عند العمل مع كائنات معقدة مثل القوائم أو القواميس ، حيث يمكن أن يؤدي تغيير عنصر واحد إلى تغيير بنية البيانات بأكملها.

لفهم كيفية تمرير الكائنات حسب المرجع يعمل في بيثون ، تحتاج إلى فهم المفاهيم الأساسية مثل المعرفات والمراجع والآثار الجانبية. معرف الكائن هو قيمة رقمية فريدة هي عنوان كائن في ذاكرة الكمبيوتر. مرجع الكائن هو اسم أو متغير يحتوي على معرف كائن.

مثال:

س = 10

في هذا المثال ، يحتوي المتغير س على مرجع لكائن معرفه هو 10. إذا قمت بتشغيل الأمر التالي:

ص = س

ثم المتغير ص سيحتوي أيضا على مرجع لكائن به معرف 10. هذا يعني أن تغيير قيمة ص سيغير أيضا قيمة س ، لأن كلاهما يشير إلى نفس الكائن في الذاكرة.

  1. المفاهيم الأساسية لتمرير الأشياء بالرجوع إليها في بايثون
  2. مبدأ نقل الأشياء بالرجوع إليها
  3. المفاهيم الأساسية لنقل الكائن
  4. سؤال وجواب
  5. ما هي طرق نقل الكائنات في بايثون?
  6. كيف يعمل نقل القيمة في بايثون?
  7. كيف يعمل نقل الارتباط في بايثون?

المفاهيم الأساسية لتمرير الأشياء بالرجوع إليها في بايثون

تمرير الكائنات بالرجوع هي واحدة من الآليات الرئيسية للعمل مع البيانات في بيثون. على عكس نقل القيمة ، عند المرور بالرجوع ، لا يتم تمرير الكائن نفسه ، بل إشارة إليه ، مما يسمح لك بتغيير حالته داخل دالة أو طريقة.

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

الكائنات القابلة للتغيير وغير القابلة للتغيير هي مفهوم مهم آخر في تمرير الكائنات بالرجوع إليها في بايثون. يمكن تغيير الكائنات القابلة للتغيير مباشرة ، بينما تتطلب الكائنات غير القابلة للتغيير إنشاء كائن جديد.

تنقسم أنواع البيانات في بايثون إلى قابلة للتغيير وغير قابلة للتغيير. تتضمن أنواع البيانات غير القابلة للتغيير الأرقام والسلاسل والصفوف. تتضمن أنواع البيانات القابلة للتغيير القوائم والقواميس والمجموعات. هذا يعني أن الكائنات غير القابلة للتغيير يتم تمريرها بالقيمة ، ويتم تمرير الكائنات القابلة للتغيير بالرجوع إليها.

وبفضل آلية تمرير بالرجوع والفصل بين المتغيرات والكائنات التي بايثون يضمن كفاءة استخدام الذاكرة. للعمل مع الكائنات في بيثون ، تحتاج إلى فهم المبادئ الأساسية لتمرير الكائنات بالرجوع والاختلافات بين أنواع البيانات القابلة للتغيير وغير القابلة للتغيير.

مبدأ نقل الأشياء بالرجوع إليها

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

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

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

مثال:

نتيجة التنفيذ:

[1, 2, 3, 4]

  1. [1, 2, 3, 4]

  1. في هذا المثال ، تحصل وظيفة قائمة التعديل على القائمة [1 ، 2 ، 3] بالرجوع إليها وتضيف العنصر 4 إليها. يكون تغيير القائمة مرئيا داخل الوظيفة وبعد استدعاء الوظيفة.
  2. وبالتالي ، عند تمرير الكائنات بالرجوع إليها في بايثون ، يجب أن نتذكر أن التغييرات على الكائن ستكون مرئية لجميع المتغيرات التي تشير إلى هذا الكائن.
  3. المفاهيم الأساسية لنقل الكائن

عند العمل مع الكائنات في بايثون ، من المهم فهم المفاهيم الأساسية لنقل الكائنات. يمكن نقل الكائنات حسب القيمة أو بالرجوع إليها.

التحويل حسب القيمة:

عندما يتم نقل كائن حسب القيمة ، يتم إنشاء نسخة من الكائن.

يتيح لك إنشاء نسخة من كائن تغييرها بشكل مستقل عن الأصل.

التغييرات التي تم إجراؤها على النسخة لا تؤثر على النسخة الأصلية.

يحدث نقل القيمة للكائنات البسيطة مثل الأرقام والسلاسل.

نقل عن طريق الرابط:

عند تمرير كائن بالرجوع ، يتم تمرير ارتباط إلى الكائن الأصلي.

تنعكس التغييرات التي تم إجراؤها على الكائن المنقول في النص الأصلي.

يحدث المرور بالمرجع للكائنات المعقدة مثل القوائم والقواميس والفئات المخصصة.

من المهم أن تتذكر أنه عند تمرير كائن بالرجوع ، قد يؤثر تغيير حالته على جميع الإشارات إلى هذا الكائن.

مثال على تمرير كائن بالرجوع إليه:

تعديل صفحة_قائمة:

لست.إلحاق (4)

قائمتي = [1 ، 2 ، 3]

تعديل القائمة (قائمتي)