Python Programming

إتقان دوال بايثون: دليل شامل

Spread the love

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

جدول المحتويات

  1. ما هي دالة بايثون؟
  2. تعريف دوال بايثون
  3. أمثلة على الدوال
  4. استدعاء الدوال
  5. جملة `return`
  6. نطاق المتغير ومدّة حياته
  7. أنواع الدوال

ما هي دالة بايثون؟

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

تعريف دوال بايثون

تُعرّف دالة باستخدام الكلمة المفتاحية `def`، متبوعة باسم الدالة، وأقواس `()`، وناقطة مزدوجة `:` . يحتوي جسم الدالة، الذي يُسحّب مسافة بادئة تحته، على الكود المراد تنفيذه. تُحدد المعلمات (المدخلات) داخل الأقواس.


def greet(name):
  """تُرحّب هذه الدالة بالشخص المُمرَّر كمعامل."""
  print(f"Hello, {name}!")

def add(x, y):
  """تُضيف هذه الدالة عددين وتُعيد المجموع."""
  return x + y

العناصر الرئيسية:

  • `def`: الكلمة المفتاحية التي تُشير إلى تعريف دالة.
  • اسم الدالة: اسم وصفي يتبع اتفاقيات تسمية بايثون (حروف صغيرة مع شرطة سفلية).
  • المعلمات: المتغيرات داخل الأقواس التي تستقبل قيم الإدخال.
  • سلسلة الوثائق: سلسلة مُحاطة بعلامات اقتباس ثلاثية ("""Docstring goes here""") تشرح غرض الدالة. أساسية لقابلية القراءة.
  • جسم الدالة: كتلة الكود المسحوبة مسافة بادئة.
  • جملة `return` (اختياري): تحدد القيمة التي تُعيدها الدالة.

أمثلة على الدوال

فيما يلي بعض الأمثلة التي تُوضح جوانب مختلفة من تعريف الدالة واستخدامها:


def calculate_area(length, width):
  """تحسب مساحة مستطيل."""
  return length * width

area = calculate_area(5, 10)  # استدعاء الدالة
print(f"The area is: {area}")  # الإخراج: The area is: 50


def factorial(n):
  """تحسب عاملي عدد صحيح غير سالب."""
  if n == 0:
    return 1
  else:
    return n * factorial(n-1) #دالة تكرارية

print(factorial(5)) # الإخراج: 120

استدعاء الدوال

لاستخدام دالة، تستدعيها باسمها متبوعًا بأقواس، وتُقدم أي وسيطات مطلوبة (قيم للمعلمات).


greet("Alice")  # الإخراج: Hello, Alice!
sum_result = add(5, 3)
print(sum_result) # الإخراج: 8

جملة `return`

تحدد جملة `return` القيمة التي تُرسلها الدالة إلى المُستدعي. إذا تم حذفها، فإن الدالة تُعيد ضمنيًا `None`.


def no_return():
  print("هذه الدالة لا تُعيد قيمة.")

def with_return():
  return 42

print(no_return())  # الإخراج: هذه الدالة لا تُعيد قيمة. None
print(with_return()) # الإخراج: 42

نطاق المتغير ومدّة حياته

المتغيرات المُعرّفة داخل دالة لها *نطاق محلي*— قابلة للوصول فقط داخل تلك الدالة. المتغيرات المُعرّفة خارج الدوال لها *نطاق عام*— قابلة للوصول في جميع أنحاء البرنامج. مدة حياة المتغير هي المدة التي يوجد فيها في الذاكرة؛ توجد المتغيرات المحلية فقط أثناء تنفيذ الدالة.

أنواع الدوال

تدعم بايثون العديد من أنواع الدوال:

  • الدوال المُدمجة: دوال مُعرّفة مسبقًا مثل `print()`، `len()`، `input()`.
  • الدوال المُعرّفة من قِبل المُستخدم: دوال أنشأها المبرمجون.
  • الدوال التكرارية: دوال تستدعي نفسها (مثل مثال `factorial` أعلاه).
  • الدوال لامدا (الدوال المُسماة): دوال صغيرة غير مُسماة مُعرّفة باستخدام الكلمة المفتاحية `lambda`، غالبًا ما تُستخدم للعمليات القصيرة.

يُقدّم هذا البرنامج التعليمي فهمًا أساسيًا لدوال بايثون. إنّ المزيد من البحث في المواضيع المتقدمة مثل الوسائط الافتراضية، ووسائط الكلمات المفتاحية، ووسائط الطول المتغير (*args و **kwargs)، والديكورات، سيُحسّن بشكل كبير من مهاراتك في برمجة بايثون.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *