logo

طريقة بايثون الخاصة

مقدمة

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

ما هي الطريقة الخاصة في بايثون؟

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

مثال

 __method_name 

كيفية تحديد طريقة خاصة في بايثون؟

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

البرنامج 1:

 class MyClass: def __init__(self): self.__private_method() def __private_method(self): print('This is a private method.') # Instantiate, the class my_obj = MyClass() 

انتاج:

طريقة بايثون الخاصة

توضيح:

في المثال أعلاه، قمنا بتعريف فئة تسمى MyClass. لديه طريقة خاصة تسمى __private_method. يتم استدعاء هذه الطريقة من مُنشئ الفئة (__init__) باستخدام self.__private_method(). نظرًا لأن الطريقة تحتوي على بادئة سفلية مزدوجة، فهي خاصة ولا يمكن الوصول إليها خارج الفصل.

البرنامج 2:

 class BankAccount: def __init__(self, account_number, balance): self.__account_number = account_number self.__balance = balance def deposit(self, amount): self.__balance += amount def withdraw(self, amount): if self.__balance >= amount: self.__balance -= amount else: print('Insufficient funds') def __display_balance(self): print('Account Balance:', self.__balance) def statement(self): print('Account Number:', self.__account_number) self.__display_balance() # create a BankAccount object my_account = BankAccount('123456789', 1000) # make some transactions my_account.deposit(500) my_account.withdraw(200) # print a statement my_account.statement() 

انتاج:

طريقة بايثون الخاصة

توضيح:

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

مزايا الطرق الخاصة في بايثون

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

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

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

خاتمة

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