Python / الدوال

إنشاء دوال بـ def

أنشئ دالتك الخاصة بـ def ووسيط و return، واستدعها، واعرف أين يمكن استخدام متغيراتها. منهج البكالوريا

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

Python
def split3(total):
    result = total / 3
    return result

print(split3(6000))
print(split3(900))
وحدة التحكم
2000.0
300.0
الخطوةالكود
(1) الاسم والمعاملdef split3(total):
(2) المعالجة بإزاحة result = total / 3
(3) إرجاع النتيجة return result
(4) الاستدعاءprint(split3(6000))
سطر def ينتهي بـ : وكل أسطر الدالة مُزاحة. والدالة لا تعمل أبدًا حتى نستدعيها. ولا يجوز وضع نقطة . في اسمها.

المعامل والوسيط وقيمة الإرجاع

الاسم داخل قوسي def (هنا num) ينتظر قيمة. القيمة التي نمرّرها عند الاستدعاء (مثل 10) تُوضع فيه. وما بعد return يعود إلى مكان الاستدعاء، فنطبعه أو نحفظه في متغير أو نكمل به الحساب:

Python
def calc7(num):
    result = num * 7
    return result

answer = calc7(10)
print(answer)
print(calc7(3) + 1)
وحدة التحكم
70
22

يمكن أن تحتوي الدالة على if وأن تأخذ أكثر من وسيط بينها فاصلة. هذه دالة تعمل مثل min لعددين:

Python
def min2(num1, num2):
    if num1 < num2:
        result = num1
    else:
        result = num2
    return result

print(min2(5, 10))
print(min2(8, 3))
وحدة التحكم
5
3

نطاق المتغير

النطاق هو المكان الذي يمكن فيه استخدام المتغير. المتغير الذي يُنشأ داخل الدالة يعيش داخلها فقط، فإذا استخدمناه خارجها ظهر خطأ:

Python
def split5(total):
    result = total / 5
    return result

print(result)
وحدة التحكم
NameError: name 'result' is not defined
لا تطبع متغيرًا من داخل الدالة؛ استخدم القيمة التي تُرجعها: print(split5(7500)). وإذا نسيت return تُرجع الدالة None.

تدريبات

1اكتب البرنامجتدريب المنهج

أنشئ دالة split4 معاملها total تُرجع total ÷ 4، ثم اطبع ناتج split4(1200).

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
2عدّل البرنامجتدريب المنهج

البرنامج يطبع None. أضف السطر الناقص داخل الدالة ليُطبع 70.

تلميحالدالة لا تُرجع شيئًا. ما الكلمة التي تُرجع النتيجة؟
Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
def calc(num):
    result = num * 7
print(calc(10))
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
3أكمل الفراغتدريب المنهج

استدعِ الدالة calc بالوسيط 3 واطبع الناتج.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
def calc(num):
    result = num * 5
    return result
print(___)
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
4اكتب البرنامجتدريب المنهج

أنشئ دالة split7 معاملها total تقسم المبلغ على 7، ثم اطبع ناتج استدعائها بالوسيط 14000.

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
5اكتب البرنامجتدريب إضافي

أنشئ دالة to_minutes معاملها hours تُرجع عدد الدقائق (hours × 60). اطبع to_minutes(3) ثم to_minutes(1.5).

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.
6اكتب البرنامجتدريب إضافي

مكتبة تعطي خصم 10% على أي فاتورة قيمتها 500 أو أكثر. أنشئ دالة final_price معاملها price تُرجع price * 0.9 إذا كان price ≥ 500، وإلا تُرجع price كما هو. اطبع final_price(800) ثم final_price(300).

Python Ctrl/⌘ + Enter للتشغيل · Esc ثم Tab للخروج من المحرر
وحدة التحكم
اضغط «تشغيل» لترى النتيجة.

النقاط الرئيسية

  • def name(param): ثم المعالجة بإزاحة ثم return، ثم الاستدعاء name(value).
  • القيمة المُرجعة يمكن طباعتها أو حفظها في متغير.
  • المتغير المُنشأ داخل الدالة لا يُستخدم خارجها.