مثيل مقابل Static مقابل طرق Class في Python: الاختلافات المهمة

مثيل مقابل Static مقابل طرق Class في Python: الاختلافات المهمة

غالبًا ما تكون طرق Python مربكة بمجرد الدخول في البرمجة الموجهة للكائنات (OOP). يغطي هذا الدليل الأنواع الثلاثة الرئيسية للطرق في بايثون.





الأنواع الثلاثة للطرق في بايثون

هناك ثلاثة أنواع من الطرق في بايثون: طرق المثال و طرق ثابتة ، و طرق الفصل .





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





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

قبل أن نبدأ: فهم أنماط الديكور

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



يبدو الديكور معقدًا ، لكن لا يوجد ما يخشاه. المصممون ببساطة وظائف. يمكنك كتابتها بنفسك ، أو استخدام تلك المضمنة في المكتبات ، أو مكتبة Python القياسية.

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





نمط الديكور هو طريقة بايثون المفضلة لتعريف الأساليب الثابتة أو الطبقية. هذا ما يبدو عليه المرء في بايثون:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is decorated! '''
print('I'm a decorated function!')

de = DecoratorExample()
de.example_function()

يجب على المصممين أن يسبقوا على الفور إعلانًا عن الوظيفة أو الفصل. يبدأون بـ @ علامة ، وعلى عكس الطرق العادية ، لا يتعين عليك وضع أقواس في النهاية إلا إذا كنت تقوم بتمرير الوسيطات.





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

ما هو عنوان IP الخاص بهاتفي

طرق المثيل في بايثون

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

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

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

هذا مثال:

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
self.name = 'Decorator_Example'
def example_function(self):
''' This method is an instance method! '''
print('I'm an instance method!')
print('My name is ' + self.name)

de = DecoratorExample()
de.example_function()

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

الطرق الثابتة في بايثون

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

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@staticmethod
def example_function():
''' This method is a static method! '''
print('I'm a static method!')

de = DecoratorExample.example_function()

ال تضمين التغريدة تم استخدام المصمم لإخبار بايثون أن هذه الطريقة هي طريقة ثابتة.

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

طرق الفصل في بايثون

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

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

يتم إنشاء طرق الفصل باستخدام تضمين التغريدة مصمم.

class DecoratorExample:
''' Example Class '''
def __init__(self):
''' Example Setup '''
print('Hello, World!')
@classmethod
def example_function(cls):
''' This method is a class method! '''
print('I'm a class method!')
cls.some_other_function()
@staticmethod
def some_other_function():
print('Hello!')

de = DecoratorExample()
de.example_function()

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

متى تستخدم كل نوع طريقة

قد يبدو الاختيار بين أنواع الأساليب في Python قرارًا صعبًا وشاقًا ، لكنك ستحصل على تعليق منه قريبًا مع قليل من التدريب.

كيفية العثور على مفتاح برنامج الأغنية

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

في تلخيص:

  1. طرق المثيل: نوع الطريقة الأكثر شيوعًا. قادرة على الوصول إلى البيانات والخصائص الفريدة لكل مثيل.
  2. طرق ثابتة: لا يمكن الوصول إلى أي شيء آخر في الفصل. كود قائم بذاته تمامًا.
  3. طرق الفصل: يمكن الوصول إلى طرق محدودة في الفصل. يمكن تعديل التفاصيل الخاصة بالفصل.

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

يشارك يشارك سقسقة بريد الالكتروني كيفية تنظيف جهاز الكمبيوتر الخاص بك الذي يعمل بنظام Windows باستخدام موجه الأوامر

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

اقرأ التالي
مواضيع ذات صلة
  • برمجة
  • برمجة
  • بايثون
نبذة عن الكاتب جو كوبيرن(تم نشر 136 مقالاً)

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

المزيد من Joe Coburn

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك