أساسيات بايثون 14: شرح return في Functions ولماذا تختلف عن print؟

أساسيات بايثون 14 شرح return في Functions والفرق بينها وبين print

بعد أن تعلمنا في الدرس السابق معنى الدوال Functions في Python وكيف نعرّف دالة باستخدام def، ننتقل الآن إلى فكرة مهمة جدًا وهي return.

كثير من المبتدئين في تعلم بايثون يخلطون بين print() و return. يظنون أن الاثنين نفس الشيء، لأنهما أحيانًا يظهران نفس النتيجة أمامنا، لكن الحقيقة أن بينهما فرقًا كبيرًا.

في هذا الدرس من سلسلة أساسيات بايثون سنشرح معنى return ببساطة، ومتى نستخدمها، ولماذا لا تكفي print() في كثير من البرامج.

{getToc} $title={محتوى المقال}

{alertInfo} إذا فهمت الفرق بين print و return، ستبدأ بكتابة دوال أفضل وأكثر قابلية للاستخدام داخل برامج Python.

ما معنى return في Python؟

كلمة return تعني أن الدالة ترجع قيمة إلى المكان الذي تم استدعاؤها منه.

بمعنى أبسط: الدالة لا تكتفي بتنفيذ أوامر فقط، بل يمكنها أن تعطيك نتيجة تستطيع استخدامها لاحقًا داخل البرنامج.

مثال بسيط:

def add(a, b):
    return a + b

result = add(5, 3)

print(result)

الناتج:

8

هنا الدالة add رجعت ناتج الجمع، ثم خزّناه داخل المتغير result.

دالة في Python تستخدم return لإرجاع ناتج جمع رقمين وتخزينه داخل متغير

{alertSuccess} return تجعل الدالة تعطيك قيمة يمكن تخزينها أو استخدامها في عملية أخرى.

الفرق بين print و return

الدالة print() تعرض النص أو القيمة على الشاشة فقط، أما return فترجع قيمة يمكن للبرنامج استخدامها.

انظر لهذا المثال:

def add_print(a, b):
    print(a + b)

result = add_print(5, 3)

print(result)

الناتج سيكون تقريبًا:

8
None

لماذا ظهر None؟

لأن الدالة طبعت الرقم 8 على الشاشة، لكنها لم ترجع قيمة حقيقية. لذلك عندما حاولنا تخزين النتيجة داخل result كانت القيمة None.

مقارنة بين print و return توضح أن الدالة بدون return ترجع None في Python

{alertWarning} print تعرض النتيجة فقط، لكنها لا تجعل الدالة ترجع قيمة يمكن استخدامها لاحقًا.

مثال صحيح باستخدام return

الآن نكتب نفس الفكرة بطريقة أفضل باستخدام return.

def add_return(a, b):
    return a + b

result = add_return(5, 3)

print(result)

الناتج:

8

هنا الدالة لم تطبع النتيجة مباشرة، بل رجعتها. وبعد ذلك نحن قررنا ماذا نفعل بهذه القيمة.

لماذا return مهمة في البرامج العملية؟

لو كنت تكتب برنامجًا بسيطًا للتجربة، قد تبدو print() كافية. لكن في البرامج العملية نحتاج غالبًا إلى استخدام النتيجة أكثر من مرة.

مثال:

def calculate_total(price, quantity):
    return price * quantity

total = calculate_total(10, 3)

final_total = total + 5

print(final_total)

الناتج:

35

الدالة رجعت قيمة المجموع، ثم استخدمنا هذه القيمة لاحقًا لإضافة تكلفة أخرى.

{alertInfo} استخدم return عندما تريد أن تستفيد من ناتج الدالة داخل عملية أخرى.

ماذا يحدث إذا لم نكتب return؟

إذا لم تكتب return داخل الدالة، فبايثون ترجع تلقائيًا القيمة None.

def greet():
    message = "Hello"

result = greet()

print(result)

الناتج:

None

الدالة أنشأت متغيرًا داخلها، لكنها لم ترجعه. لذلك لا يمكن استخدامه خارج الدالة.

return توقف تنفيذ الدالة

من الأشياء المهمة أن return لا ترجع قيمة فقط، بل توقف تنفيذ الدالة أيضًا.

مثال:

def test():
    print("Before return")
    return "Done"
    print("After return")

result = test()

print(result)

الناتج:

Before return
Done

لاحظ أن السطر:

print("After return")

لم يتم تنفيذه، لأنه جاء بعد return.

مثال يوضح أن الكود بعد return داخل الدالة لا يتم تنفيذه في Python

{alertError} أي كود تكتبه بعد return داخل نفس المسار في الدالة لن يتم تنفيذه.

استخدام return مع if

يمكن استخدام return مع الشروط if لإنهاء الدالة حسب حالة معينة.

def check_age(age):
    if age >= 18:
        return "Allowed"
    else:
        return "Not allowed"

print(check_age(20))
print(check_age(15))

الناتج:

Allowed
Not allowed

هنا الدالة ترجع قيمة مختلفة حسب الشرط.

إرجاع أكثر من قيمة من الدالة

في Python يمكن للدالة أن ترجع أكثر من قيمة في نفس الوقت.

def calculate(a, b):
    total = a + b
    difference = a - b
    return total, difference

sum_result, diff_result = calculate(10, 4)

print(sum_result)
print(diff_result)

الناتج:

14
6

في الحقيقة، بايثون ترجع هذه القيم على شكل Tuple، لكن يمكننا استقبالها في أكثر من متغير كما في المثال.

متى أستخدم print ومتى أستخدم return؟

الأداة ماذا تفعل؟ متى أستخدمها؟
print() تعرض قيمة على الشاشة عند التجربة أو عرض نتيجة للمستخدم
return ترجع قيمة من الدالة عندما تريد استخدام ناتج الدالة لاحقًا

أخطاء شائعة مع return في Python

1. استخدام print بدل return

هذا خطأ شائع عند المبتدئين. إذا كنت تريد تخزين ناتج الدالة في متغير، استخدم return.

2. نسيان استقبال القيمة الراجعة

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

result = add_return(5, 3)

3. كتابة كود مهم بعد return

أي كود يأتي بعد return في نفس المسار لن يتم تنفيذه.

4. الخلط بين return و variable

المتغير داخل الدالة لا يكون متاحًا خارجها إلا إذا أرجعته باستخدام return.

أخطاء return الشائعة في Functions مثل استخدام print بدل return وكتابة كود بعد return

تمرين بسيط

اكتب دالة اسمها square تستقبل رقمًا، ثم ترجع مربع الرقم.

الحل:

def square(number):
    return number * number

result = square(6)

print(result)

الناتج:

36

أسئلة شائعة حول return في Python

هل return تطبع النتيجة؟

لا. return لا تطبع النتيجة على الشاشة، بل ترجع قيمة إلى البرنامج. إذا أردت عرضها، استخدم print().

هل يمكن للدالة أن تعمل بدون return؟

نعم، يمكن للدالة أن تعمل بدون return، لكنها سترجع تلقائيًا None.

هل يمكن استخدام أكثر من return داخل الدالة؟

نعم، يمكن استخدام أكثر من return مع الشروط، لكن عند تنفيذ واحدة منها تنتهي الدالة.

ما الفرق بين return و print في Python؟

print تعرض النتيجة فقط، أما return فترجع قيمة يمكن تخزينها أو استخدامها في عمليات أخرى.

روابط مهمة من بايثون العرب

مصدر خارجي مفيد

يمكنك قراءة توثيق Python الرسمي حول تعريف الدوال من هنا: Python Documentation - Defining Functions.

خلاصة المقال

في هذا الدرس تعلمنا معنى return في دوال Python، وفهمنا الفرق بينها وبين print().

تذكر أن print تعرض النتيجة فقط، أما return فترجع قيمة يمكن استخدامها داخل البرنامج.

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

{alertSuccess} قاعدة بسيطة: استخدم print للعرض، واستخدم return عندما تريد أن تستفيد من النتيجة داخل البرنامج.

إرسال تعليق

أحدث أقدم