مرحبًا بعودتك.
في الفيديو السابق ، رأينا أننا قمنا ببعض الاستهجان الكبير.
أي أننا كتبنا الاسم والتحدث.
والآن كل هذا العمل الشاق الذي وضعناه في صفنا قد تجاوزه هذا.
أعني ، بالتأكيد ، إذا قمنا بإنشاء كائن جديد.
سنجري الجري ونتحدث ، لكن اللاعب الأول الآن عديم الفائدة تمامًا.
ليس له اسم ويتحدث.
تقول فقط بو.
عديمة الفائدة تماما.
الآن في بايثون ، هناك فكرة عامة وخاصة ، وهذا مرتبط بمناقشتنا للتجريد.
الفكرة وراء التجريد هي أننا نخفي المعلومات ونمنح فقط الوصول إلى الأشياء التي يهتم
بها المستخدم.
الصحيح.
لذلك من الناحية المثالية ، لا ينبغي أن يكون لدينا وصول إلى init.
من الناحية المثالية ، لا ينبغي أن نكون قادرين على ، دعنا نقول تعديل أو تشغيل أو تعديل الاسم
و h ، لأنه عندما نقوم بإنشاء شخصية لاعب في لعبتنا ، نأمل أن يتمكن اللاعب من تغيير اسمه أو عمره بشكل عشوائي.
والتسلل إلى لعبتنا ربما كان عمرك 18 عامًا فقط أو أكثر.
فهل يمكننا عمل متغير خاص في صفنا؟
حسنًا ، هذا هو الشيء.
تسمح لنا بعض اللغات بالحصول على متغيرات خاصة ، على سبيل المثال ، بلغة مثل Java.
أستطيع أن أقول إن إحدى السمات خاصة مثل هذه ولن أتمكن من الوصول إليها وتعديلها مثلما أملك
بهذه الطريقة.
لكن في بايثون ، لا توجد خصوصية حقيقية ، ولا متغيرات خاصة حقيقية.
فكيف نتغلب على هذا؟
حسنًا ، ما سنفعله هو وضع شرطة سفلية أو تسطير أسفل السطر H.
حاليا.
هل هذا يعطي أي قوة خاصة؟
لا ، هذا مجرد اصطلاح يستخدم كمبرمجين ومبرمجي بايثون ، لقد قررنا ، إذا رأينا شرطة سفلية
في التعليمات البرمجية الخاصة بنا ، فهذا يعني على الأرجح أن هذا يجب أن يكون متغيرًا خاصًا.
لذلك عندما أستخدمه وأتحدث ، دعنا نقول شرطة سفلية ، قم بتأكيد الحرف H.
ودعنا نعلق على هذا.
إذا قمت بالنقر فوق تشغيل.
حسنًا ، لا بد لي من تشغيل هذا لأنه الآن طريقة.
لننقر فوق تشغيل.
وحصلت على اسمي أندريه وعمري 100 عام.
كل شيء يعمل.
ولكن إذا حاولت الكتابة فوق هذه والنقر فوق تشغيل.
أوه ، والآن لأنها لم تعد طريقة ، دعنا نزيل الكلام وأضغط على تشغيل.
هذا لا يزال يعمل.
وذلك لأنه ، كما قلت ، لا توجد متغيرات خاصة حقيقية.
كمبرمجين ، قررنا أن الشرطة السفلية تعني أنه لا يجب عليك لمس هذا.
من فضلك لا تلمس هذا.
لا يزال بإمكانك أن تكون سيئًا وتفعل شيئًا كهذا.
لكنني أخبرك في وقت مبكر إذا قمت بالتأكيد على أنه لا ينبغي تعديل هذا ، فيجب أن يكون
هذا خاصًا.
وهذه هي الطريقة التي نحقق بها الخصوصية في Python.
اتفقنا جميعًا على أن نقول ، لنحافظ على خصوصية هذا الشيء الصغير.
لذلك ، إذا كنت تريد الاحتفاظ بطريقة أو سمة ما بخصوصية ، فكل ما عليك هو وضع شرطة سفلية أمامها
، ولكن هذا ليس ضمانًا.
ماذا عن هذه الأحرف السفلية المزدوجة؟
مرة أخرى ، هذا شيء سنتحدث عنه قريبًا جدًا ، لكنه يطلق عليه طريقة الغطس.
أي أنه مدمج في بايثون.
ونحن عادة لا نكتب طرق Dunder الخاصة بنا.
لن نكتب أبدًا شرطة سفلية مزدوجة.
اكتب هذا.
هذه الشرطات السفلية المزدوجة وهناك الكثير منها لها معنى خاص في بايثون.
والسبب في تسميتهم بهذا الشكل هو أنهم يقولون ، مهلاً ، إذا كنت تكتب شرطة سفلية مزدوجة
للمتغير ، فأنت تفعل شيئًا خاطئًا للغاية.
أنت على وشك الكتابة فوق شيء ما.
مرة أخرى ، هذه الشرطة السفلية المزدوجة هي أيضًا اصطلاح لإعلام الأشخاص بأنه لا يجب
عليك لمس هذا أو تعديله مع كل نوع من أنواع البيانات.
دعنا نقول قائمة.
إذا قمت بعمل نقطة ، فسترى ذلك أثناء التمرير لأسفل.
لديك الكثير من هذه الأساليب الغامضة.
مرة أخرى ، هناك شيء سنتحدث عنه ، ولكن هذا موجود هنا لإعلامك بذلك.
لا تكتبها إذا كنت تفعل شيئًا مثل الشرطة السفلية.
تسطير ، لا أعرف ، دكتور ، مثل هذا.
هذا سيء.
لا تحاول تعديله وتعيينه لخمسة.
لذا فإن فكرة المجال الخاص مهمة لبايثون.
وعلى الرغم من أنه يمكننا استبدال الكثير من الأشياء ، إلا أنها ممارسة سيئة.
لكن دعونا نعيدها إلى التجريد.
تكمن الفكرة في تجريد هذا الرمز بعيدًا ، وعلى الرغم من أنه يمكن تعديله وتجاوزه باستخدام هذه الاصطلاحات
المناسبة مثل السمات الخاصة ، إلا أننا قادرون على تجريد الأشياء بعيدًا ، ولكن مع
التأكد من أن كل ما قد يستخدمه المستخدم لن يتم لكسر كودنا.
سأراك في المرحلة التالية.
مع السلامة.