0:00:00.000,0:00:03.000 حتى الآن، لقد أخبرتكم أن التعيين 0:00:03.000,0:00:05.000 يُعدل العنصر الموجود 0:00:05.000,0:00:10.000 لكن لا يمكنكم رؤية الإختلاف فيما [br]قمنا به مع السلاسل 0:00:10.000,0:00:14.000 نحن سوف نرى الإختلاف حقاً [br]عندما نقدم متغير جديد 0:00:14.000,0:00:17.000 هيا لنعد إلى المثال الذي كان لدينا سابقاً 0:00:17.000,0:00:19.000 والأن سنضيف سلسلة معينة جديدة 0:00:19.000,0:00:23.000 وسنُعرف متغير جديد 0:00:23.000,0:00:25.000 فلنفترض أننا عرفنا المتغير "q" 0:00:25.000,0:00:29.000 والأن نحن سنعين المتغير"p" إلى [br]المتغير "q"، وهذا يعني قيمة p 0:00:29.000,0:00:31.000 والذي سوف يشير إلي العنصر التي 0:00:31.000,0:00:34.000 تشير إليه هذه القائمة. 0:00:34.000,0:00:37.000 الشيء المهم هنا بعد التعيين 0:00:37.000,0:00:40.000 أن "p" و"q" تشير إلى نفس القائمة. 0:00:40.000,0:00:43.000 فلنفترض أننا قمنا بتعيين سلسلة 0:00:43.000,0:00:50.000 لكي نُعدل قيمة إحدى عناصر "q". 0:00:50.000,0:00:53.000 حسناً، هذا سوف يُغير العنصر الرابع من "q" 0:00:53.000,0:00:55.000 إذا هذا هو العنصر الرابع من "q". 0:00:55.000,0:00:58.000 سوف يغيير هذه القيمة 0:00:58.000,0:01:01.000 إلي علامة تعجب جديدة. 0:01:01.000,0:01:03.000 وقام أيضاً بتغيير قيمة "p". 0:01:03.000,0:01:07.000 حتى ولم تتضمن تعيين السلسلة المتغير "p" 0:01:07.000,0:01:11.000 الحقيقة أن المتغير "p" و "q" [br]يشيران إلى نفس العنصر 0:01:11.000,0:01:13.000 بمعنى أنه غير قيمة "p" أيضاً. 0:01:13.000,0:01:15.000 لنريك أن هذه الأشياء مختلفة [br]مع السلاسل 0:01:15.000,0:01:17.000 لنجرب ذلك مع سلسلة 0:01:17.000,0:01:20.000 أنظر إذا كنت سوف تتوقع ما يحدث [br]عندما نحاول إستخدام التعيين 0:01:20.000,0:01:23.000 لإستبدال الحرف الأول في السلسة 0:01:23.000,0:01:25.000 لنشغله ونرى ماذا سوف يحدث. 0:01:25.000,0:01:27.000 وما سوف نحصل عليه هو خطأ 0:01:27.000,0:01:30.000 ونحصل على هذا الخطاً [br]لأن السلسلة غير قابلة للتغيير 0:01:30.000,0:01:32.000 ليس هناك طريقة لتغيير قيمة هذه السلسة 0:01:32.000,0:01:36.000 والخطأ يقول أنه لا يوجد طريقة[br]لكي نقوم بالتعيين في السلسلة 0:01:36.000,0:01:41.000 إن هذا النوع من العناصر، [br]بسبب أنه لا يقبل التغيير لا يدعم التعيين. 0:01:41.000,0:01:44.000 الفرق الرئيسي بين العناصر [br]التي تقبل والتي لاتقبل التعيين 0:01:44.000,0:01:47.000 هو أنه عندما يصبح عنصر ما قابل للتغيير 0:01:47.000,0:01:51.000 علينا إذاً أن نقلق بشأن المتغيرات الأخري [br]والتي من الممكن أن تشير إلى نفس العنصر. 0:01:51.000,0:01:53.000 يمكننا تغير قيمة هذا العنصر 0:01:53.000,0:01:57.000 وهذا لا يؤثر فقط على المتغير [br]الذي نعتقد أننا قمنا بتغييره 0:01:57.000,0:02:00.000 لكن يؤثر أيضاً علي قيمة [br]المتغيرات الأخري أيضاً 0:02:00.000,0:02:02.000 لنلقي نظرة علي مثال عن هذا الأمر 0:02:02.000,0:02:07.000 لقد قمت بتعيين المتغير "p" إلي القائمة [br]التي تحتوي على سلسلة "Hello". 0:02:07.000,0:02:11.000 لدي الآن تعيين جديد يقدم [br]المتغير الجديد "q" 0:02:11.000,0:02:13.000 ويعين المتغير "p" إالي هذا المتغير الجديد 0:02:13.000,0:02:15.000 والأن سوف نقوم بطباعة قيمة كل من "p" و "q" 0:02:15.000,0:02:19.000 وسوف نرى أن قيمة كل من "p" و "q" [br]تحتوي على السلسلة "Hello". 0:02:19.000,0:02:23.000 ولكن الآن لنغير القيمة عند الموضع 0 0:02:23.000,0:02:26.000 لدي الآن تعيين والذي يخزن 0:02:26.000,0:02:30.000 الحرف "y" في قيمة الموضع 0 من المتغير "p" 0:02:30.000,0:02:35.000 هذا يغير قيمة المتغير "p" 0:02:35.000,0:02:43.000 والذي يبدو مدهشاً أكثر أنه [br]يغيير أيضاً قيمة "q" 0:02:43.000,0:02:46.000 علي الرغم أننا لم نشير إلي[br]المتغير "q" في التعيين 0:02:46.000,0:02:49.000 لقد تم تغيير قيمة المتغير "q" لآن "q" 0:02:49.000,0:02:52.000 تشير إلي نفس العنصر[br]الذي يشير إليه المتغير "p".