بايثون: الدوال المتقدمة (الدوال العودية والدوال المضمنة)
بايثون توفر أنواعاً متقدمة من الدوال مثل الدوال العودية التي تستدعي نفسها، والمكتبة القياسية التي تحتوي على دوال جاهزة للاستخدام.
الدوال العودية (Recursive Functions)
الدالة العودية هي دالة تستدعي نفسها. يجب أن تحتوي على شرط إيقاف لتجنب التكرار اللانهائي.
# حساب مضروب عدد (Factorial)
def factorial(n):
if n <= 1: # شرط الإيقاف
return 1
else:
return n * factorial(n – 1) # استدعاء عودي
print(factorial(5)) # 120
الدوال المضمنة في المكتبة القياسية (Built-in Functions)
# دوال رياضية
import math
print(math.sqrt(16)) # 4.0 (الجذر التربيعي)
print(math.sin(math.pi/2)) # 1.0
print(math.pow(2, 3)) # 8.0
# دوال النصوص والتواريخ
import random
print(random.randint(1, 10)) # عدد عشوائي بين 1 و 10
import datetime
today = datetime.date.today()
print(today) # التاريخ الحالي
وسائط الدالة المتقدمة
def print_info(name, age=20, *subjects, **details):
print(f”الاسم: {name}, العمر: {age}”)
print(“المواد:”, subjects)
print(“تفاصيل:”, details)
print_info(“أحمد”, 16, “رياضيات”, “علوم”, city=”الجزائر”, grade=95)
تمارين
التمرين 1: اكتب دالة عودية لحساب قيمة عدد في متتالية فيبوناتشي.
التمرين 2: استخدم مكتبة random لإنشاء لعبة تخمين أرقام.
للمزيد من الدروس، راجع درس بايثون: الدوال Functions ودرس بايثون: مكتبة Math.
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.