لإنشاء دالة خاصة في بايثون لابد أن تبدأ الأمر البرمجي بكلمة ref

لإنشاء دالة خاصة في بايثون لابد أن تبدأ الأمر البرمجي بكلمة ref

هناك خطأ شائع في السؤال: في لغة بايثون، لإنشاء دالة خاصة لا نستخدم كلمة ref. بل نستخدم الكلمة الأساسية def. سأكتب لك مقالًا تعليميًا يوضح الطريقة الصحيحة لإنشاء الدوال الخاصة في بايثون، مع توضيح الفكرة وراء الدوال الخاصة:

لإنشاء دالة خاصة في بايثون لابد أن تبدأ الأمر البرمجي بكلمة ref

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

def

ثم نكتب اسم الدالة، يليها أقواس تحتوي على أي معطيات (Parameters) إذا كانت موجودة، ثم نقطتان رأسيتان :، وبعدها نكتب جسم الدالة مع مراعاة المسافة البادئة (Indentation).

المثال الأساسي:

def greet(name):
print(f”Hello, {name}!”)

يمكن استدعاء الدالة:

greet(“Ali”)
# Output: Hello, Ali!

الدوال الخاصة في بايثون
في بايثون، لا يوجد شيء اسمه “دالة خاصة” بالمفهوم الكامل كما في لغات أخرى مثل Java أو C++. لكن هناك اتفاقية برمجية:

إذا بدأ اسم الدالة بشرطة سفلية واحدة _، فهذا يعني أن الدالة داخلية أو شبه خاصة، وليست مخصصة للاستخدام العام خارج الكلاس أو الوحدة.
إذا بدأ اسم الدالة بشرطتين سفليتين __، فهذا يعني أن الدالة خاصة جدًا داخل الكلاس، وسيقوم بايثون بإعادة تسمية الدالة (Name Mangling) لحمايتها من الوصول الخارجي.
مثال على دالة شبه خاصة:

def _private_function():
print(“This is a semi-private function.”)

مثال على دالة خاصة جدًا داخل كلاس:

class MyClass:
def __very_private(self):
print(“This is a very private method.”)

    • خطأ

الكلمة الصحيحة لإنشاء أي دالة في بايثون هي def وليست ref.
الدوال التي تبدأ أسماؤها بشرطة سفلية _ أو شرطتين __ تعتبر دوال خاصة أو شبه خاصة.
الهدف من الدوال الخاصة هو تنظيم الكود وحماية الوظائف الداخلية من الاستخدام الخارجي.