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

ما هي الذات في بايثون: أمثلة الشرح والرمز

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

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

يستخدم بيثون الكلمة مواطنه لتحديد الأساليب ، تليها اسم الأسلوب والحجة الذاتية. على سبيل المثال:

فئة ميكلاس:

مواطنه طريقتي (ذاتي):

طباعة ("مرحبا ، أنا طريقة ميكلاس!")

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

  1. ما هو النفس في بيثون?
  2. شرح مفهوم الذات في بايثون
  3. لماذا أحتاج النفس في أساليب الطبقة?
  4. كيفية استخدام الذات في أساليب الفصل
  5. مثال بسيط باستخدام الذات
  6. النفس باعتبارها المعلمة الأولى من طريقة الطبقة
  7. الميراث الذاتي والطبقي
  8. سؤال وجواب
  9. ما هو النفس في بيثون?
  10. لماذا النفس المستخدمة في بيثون?
  11. هل من الممكن استخدام أي كلمة أخرى بدلا من الذات?
  12. هل من الممكن الاستغناء عن استخدام الذات في أساليب الفصل?
  13. هل من الممكن تغيير اسم الذات إلى شيء أكثر قابلية للفهم?

ما هو النفس في بيثون?

في لغة برمجة بايثون ، يتم استخدام الكلمة الرئيسية الذاتية للإشارة إلى الكائن الحالي داخل الفصل.

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

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

مثال:

شخص الطبقة:

ديف _ _ الحرف الأول _ _ (الذات ، الاسم ، العمر):

self.name = الاسم

النفس.العمر = العمر

مواطنه قل_مرحبا (الذات):

طباعة (و " مرحبا ، اسمي {self.name } وأنا {النفس.العمر} سنة!")

شخص = شخص ("أليكسي" ، 25)

شخص.قل مرحبا()

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

نتيجة لتنفيذ هذا الرمز ، سيتم عرض رسالة: مرحبا ، اسمي أليكسي وعمري 25 عاما!

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

باستخدام الكلمة الذاتية ، يمكنك الوصول إلى سمات وأساليب كائن داخل فئة ، والذي يسمح لك للعمل مع البيانات وظائف مثيل معين من الطبقة.

شرح مفهوم الذات في بايثون

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

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

يتيح لك استخدام الكلمة الرئيسية الذاتية تحديد الكائن الذي تنتمي إليه خاصية أو طريقة بشكل فريد.

مثال:

شخص الطبقة:

ديف _ _ الحرف الأول _ _ (الذات ، الاسم ، العمر):

self.name = الاسم

النفس.العمر = العمر

مواطنه الحصول على المعلومات (النفس):

عودة "الاسم:" + self.name + "، العمر: "+ شارع (الذات.العمر)

شخص1 = شخص ("إيفان" ، 25)

طباعة (شخص1.احصل على معلومات ()) # الاسم: إيفان ، العمر: 25

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

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

لماذا هناك حاجة إلى الذات في أساليب الفصل

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

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

يتيح لك استخدام المعلمة الذاتية العمل مع سمات وطرق مثيل فئة داخل أساليبها. عند استدعاء طريقة فئة عن طريق تحديد اسم مثيل من الفئة ، بيثون يمر تلقائيا هذا المثال كقيمة المعلمة النفس.

:

شخص الطبقة:

ديف _ _ الحرف الأول__(الذات ، الاسم):

self.name = الاسم

مواطنه تحية (النفس):

طباعة (و " مرحبا ، اسمي {self.name }!")

ع = شخص ("أليكسي")

ص. تحية()

لعرض تحية مع اسم المثال.

.

النفس كما يسمح لك لإنشاء واستخدام مثيلات متعددة من فئة مع قيم السمة المختلفة. يصل كل مثيل إلى سماته الخاصة وينفذ الأساليب باستخدام قيمه الخاصة.

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

كيفية استخدام الذات في أساليب الفصل

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

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

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

مثال:

شخص الطبقة:

ديف _ _ الحرف الأول _ _ (الذات ، الاسم ، العمر):

self.name = الاسم

النفس.العمر = العمر

مواطنه قل_مرحبا (الذات):

طباعة (و " مرحبا ، اسمي {self.name } وأنا {النفس.العمر} سنة.")

في هذا المثال ، لدينا فئة الشخص ، التي لها سمات الاسم والعمر ، بالإضافة إلى طريقة قل مرحبا. في منشئ فئة__ الحرف الأول _ _ ، نقوم بتهيئة سمات الاسم والعمر بالقيم التي تم تمريرها عند إنشاء مثيل للفئة. تقوم طريقة قل مرحبا بطباعة تحية باستخدام سمات الاسم والعمر.

لإنشاء مثيل لفئة واستدعاء الأسلوب الخاص به ، قم بتشغيل التعليمات البرمجية التالية:

شخص = شخص ("إيفان" ، 25)

شخص.قل مرحبا()

ستكون نتيجة تنفيذ هذا الرمز كما يلي:

مرحبا ، اسمي إيفان وعمري 25 عاما.

في هذا المثال ، نقوم بإنشاء مثيل لفئة الشخص باسم السمات = "إيفان" والعمر = 25. ثم نسمي طريقة قول مرحبا في هذا المثيل ، والتي تطبع تحية باستخدام قيم الاسم وسمات العمر.

مثال بسيط باستخدام الذات

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

لنأخذ مثالا بسيطا:

شخص الطبقة:

ديف _ _ الحرف الأول _ _ (الذات ، الاسم ، العمر):

self.name = الاسم

النفس.العمر = العمر

مواطنه قل_مرحبا (الذات):

طباعة (و " مرحبا ، اسمي {self.name } وأنا {النفس.العمر} سنة!")

شخص = شخص ("أليكسي" ، 25)

شخص.قل مرحبا()

في هذا المثال ، لدينا فئة شخص لها سمتان: الاسم والعمر.

  1. نحدد طريقة _ _ الحرف الأول _ _ ، التي تهيئ سمات الكائن.
  2. تشير الوسيطة الذاتية إلى المثيل الحالي للفئة. نستخدمها للإشارة إلى سمات كائن.
  3. في طريقة قل مرحبا ، نستخدم سمات الكائن عبر الذات وإخراج رسالة ترحيب بقيمها.
  4. إنشاء مثيل من فئة الشخص مع اسم "أليكسي" وعمر 25 عاما.
  5. نحن نسمي طريقة قل-مرحبا ، والتي تنتج رسالة ترحيب مع اسم وعمر الكائن.

نتيجة لتنفيذ هذا الرمز ، سيكون الإخراج:

مرحبا ، اسمي أليكسي وعمري 25 عاما!

وبالتالي ، فإن استخدام الذات يسمح لنا بالعمل مع سمات وطرق كائن داخل الفصل.

النفس باعتبارها المعلمة الأولى من طريقة الطبقة

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

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

عندما نسمي طريقة فئة ، فإننا في الواقع نسمي دالة تأخذ الوسائط التالية: مثيل الفئة نفسه (الذات) وأي وسيطات أخرى يتم تمريرها عند استدعاء الطريقة.

على سبيل المثال ، لدينا فئة شخص لديها طرق لتحديد والحصول على اسم:

شخص الطبقة:

تعيين مواطن_الاسم (الذات ، الاسم):

self.name = الاسم

مواطنه الحصول على_الاسم (النفس):

العودة self.name

في هذا المثال ، في طريقة اسم المجموعة ، نستخدم self.name لتعيين قيمة سمة الاسم للمثيل الحالي للفئة. ثم في طريقة الحصول على اسم نستخدم self.name لإرجاع قيمة هذه السمة.

عند إنشاء مثيل للفئة واستدعاء هذه الأساليب ، يجب علينا تمرير مثيل للفئة كوسيطة أولى:

شخص = شخص()

شخص.تعيين اسم ("جون")

طباعة (شخص.الحصول على_اسم ()) # سوف الإخراج: جون

إذا لم نقم بتمرير الذات كوسيطة أولى ، نحصل على خطأ:

شخص = شخص()

شخص.تعيين اسم ("جون") # خطأ-تم حذف الوسيطة الذاتية

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

الميراث الذاتي والطبقي

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

عند وراثة الفئات ، يمكن توريث فئة واحدة من فئة أخرى (الفئة الأصل) ، ويمكن أيضا توريث السمات والأساليب التي تنشأ من هناك. في هذه الحالة ، يتم استخدام الذات للوصول إلى كل من السمات والأساليب الموروثة ، بالإضافة إلى السمات والأساليب المحددة في الفصل نفسه.

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

Давайте рассмотрим пример кода:

شخص الطبقة:

ديف _ _ الحرف الأول _ _ (الذات ، الاسم ، العمر):

self.name = الاسم

النفس.العمر = العمر

مواطنه الحصول على التفاصيل (النفس):

العودة و " الاسم: {self.name}, عمر: {الذات.العمر}"

طالب الصف (شخص):

ديف _ _ الحرف الأول _ _ (الذات ، الاسم ، العمر ، الدرجة):

سوبر ().__ الحرف الأول__(الاسم والعمر)

النفس.الصف = الصف

مواطنه الحصول على التفاصيل (النفس):

عودة سوبر ().احصل على التفاصيل () + و " ، الدرجة: {ذاتي.الصف}"

شخص = شخص ("جون" ، 25)

طباعة (شخص.احصل على التفاصيل ()) # الإخراج: الاسم: جون ، العمر: 25

طالب = طالب ("أليس" ، 18 ، 12)

طباعة (طالب.احصل على التفاصيل ()) # الإخراج: الاسم: أليس ، العمر: 18 ، الصف : 12

إلى معلومات الوالدين.

، يمكننا توسيع الوظيفة للحصول على معلومات حول الطالب ، بما في ذلك درجته.

. هذا يسمح لك لاستدعاء منشئ الطبقة الأم واستخدام سماته داخل منشئ الطبقة الفرعية.

سوف نتلقى معلومات كاملة عن الطالب ، بما في ذلك اسمه وعمره ودرجته.

استئناف:

  • يتم استخدام الكلمة الرئيسية الذاتية في سياق وراثة الفصل للوصول إلى سمات وطرق كل من الفئة نفسها وفئتها الأم.
  • عند استخدام الفئات الموروثة من بعضها البعض ، يمكن للكائنات استخدام كل من سمات وطرق الفئة الأصل ، بالإضافة إلى السمات والأساليب المحددة في الفئة نفسها.
  • لاستدعاء منشئ الفئة الأصل داخل منشئ الفئة الفرعية ، يمكنك استخدام الوظيفة الفائقة ().
  • يسمح لك وراثة الفئة بتوسيع وظائف الفئة الأصل واستخدام سماتها وأساليبها دون تكرار الكود.

سؤال وجواب

ما هو النفس في بيثون?

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

لماذا النفس المستخدمة في بيثون?

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

هل من الممكن استخدام أي كلمة أخرى بدلا من الذات?

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

هل من الممكن الاستغناء عن استخدام الذات في أساليب الفصل?

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

هل من الممكن تغيير اسم الذات إلى شيء أكثر قابلية للفهم?

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