المدونةالفصل الثانيثاني متوسطالدوال (Functions) | الوحدة الثالثة | الدرس الثالث

الدوال (Functions) | الوحدة الثالثة | الدرس الثالث

الدوال (Functions)

الدوال (Functions) هو عنوان الدرس الثالث من الوحدة الثالثة التي تحمل اسم “البرمجة مع بايثون” في الفصل الدراسي الثاني من مقرر “المهارات الرقمية – ثاني متوسط”.

ستتعرف في هذا الموضوع على الدوال، من خلال إنشاء الدوال، واستدعائها، ومعرفة المعاملات والوسائط (Arguments)، وعبارات الإرجاع، والوسائط الافتراضية، بالإضافة لمعرفة المتغيِّرات المحلية والعامة.

الدوال (Functions)

قم بقراءة نواتج التعلُّم جيدًا، ثم أعد قراءتها وتأكَّد من تحصيل محتواها بعد انتهائك من دراسة الموضوع.

نواتج التعلُّم

  • إنشاء دالة خاصة.
  • استدعاء دالة في بايثون.
  • تطبيق المعاملات والوسائط.
  • تطبيق عبارات الإرجاع.
  • تطبيق الوسائط الافتراضية.
  • تمييز المتغيرات المحلية والعامة.

هيا لنبدأ!

مقدمة – الدوال (Functions)

الدالة (Functions) هي مجموعة من الأوامر التي يتم تجميعها في مكان واحد مع إعطائها اسمًا (تعريفًا)، ويتم تنفيذها من خلال استدعائها عند الحاجة لها.

يحتوي البايثون على مجموعة من الدوال الجاهزة والتي سبق لك استخدامها، مثل: دالة الطباعة (print())، ودالة الطول (len())، ودالة النطاق (range())، ودالة الإدخال (input()).

في هذا الموضوع ستتعلم كيفية إنشاء دوال جديدة لتساعدك في بعض المهام والمشكلات المتكرِّرة.

لمعرفة المزيد من المعلومات عن الدوال (Functions) في بايثون، قم بالاطّلاع على الرابط التالي:

الدوال (Functions) في لغة بايثون – Cyber Technology Plus

إنشاء الدوال الخاصة بك

في بايثون، يتم تعريف الجزء الأول من الدالة باستخدام الكلمة الأساسية def ويحتوي هذا الجزء على تعريف الدالة (function definition)، ثم يأتي الجزء الثاني وهو اسم الدالة (name).

في نهاية رأس الدالة (function header)، هناك نقطتان (colon) للإشارة إلى أن ما يلي عبارة عن مجموعة من المقاطع البرمجية، ويجب وضع مسافة بادئة لها.

بعد ذلك، يتبع محتوى الدالة (function body)، والذي في هذا المثال، يطبع الرسالة فقط.

الآن ستحدد دالة تطبع رسالة مرحبًا.

الدوال (Functions)

استدعاء دالة

لاستدعاء دالة، استخدم اسم الدالة متبوعًا بأقواس.

ومن الأمثلة على الدالة ما يلي:

المُعامِلات والوسائط

المتغيِّرات التي يمكِنك الإعلان عنها في الدالة تسمى المُعامِلات (Parameters)، ويتم استخدام هذه المتغيِّرات داخل الدالة.

ونظرًا لأنه لا يمكِن الوصول للمُعامِلات إلا من خلال الدالة، فإنه يتم الإشارة إليها باسم المتغيِّرات المحلية (Local Variables)، كما يتم الإشارة إلى المتغيِّرات التي تم تمريرها إلى الدالة لتنفيذها على أنها وسائط (Arguments).

وتتلقى المتغيِّرات المحلية للدالة قيم الوسائط كمُدخَلات ثم تتابع تنفيذ الدالة.

ألق نظرة على المثال الآتي، حيث تحدّد دالة تسمى printMax مع معامِلين a وb وتجد أكبر عدد باستخدام جملة if else الشرطية، ثم تطبع هذا العدد باستخدام دالة الطباعة (print ()).

الدوال (Functions)

بإمكانك محتوى موضوع “الدوال (Functions)” من بدايته وحتى نهاية هذا القسم، من خلال الرابط التالي:

عبارة الإرجاع

في بايثون، يتم استخدام عبارة الإرجاع (Return statement) لإنهاء تنفيذ استدعاء الدالة وإرجاع قيمة المتغيِّر.

يؤدي ظهور عبارة الإرجاع في أي نقطة من محتوى الدالة إلى إنهاء تنفيذ أوامر الدالة وإعادة المقطع البرمجي إلى النقطة التي تلي أمر استدعائه مباشرةً.

الدوال (Functions)

في المثال أدناه، تُرجع دالة الحد الأقصى (maximum) أكبر القيم التي تم إدخالها، وللقيام بذلك يتم استخدام جملة if else الشرطية للعثور على القيمة الأعلى ثم إرجاع تلك القيمة.

الدوال (Functions)

الوسائط الافتراضية

في بعض الدوال، قد ترغب في جعل بعض المُعامِلات اختيارية واستخدام القيم الافتراضية إذا كان المُستخدِم لا يريد إعطاء قيم لهذه المُعامِلات.

يمكِن تحقيق ذلك بمساعدة قيم الإعداد الافتراضي.

إذا لم يتم تمرير قيمة أخرى أثناء تسمية الدالة، فستأخذ وسائط الدالة قيم الإعداد الافتراضية.

المتغيِّرات المحلية والعامة

عند تحديد المتغيِّرات داخل تعريف الدالة، فإنها لا تؤثر ولا تتأثر بالمتغيِّرات الأخرى التي تحمل نفس الاسم والتي يتم استخدامها خارج تلك الدالة.

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

في المثال التالي، دالة استخدمت لأول معامِل يسمى x، يستخدم بايثون قيمة المعامِل المعلن داخل تلك الدالة.

ثم ستسند القيمة 2 إلى x، والاسم x هو متغيِّر محلي لدالتك. لذلك، عندما تغيَّرت قيمة x في الدالة، فإن x المحدَّدة في الجزء الرئيس لن تتأثر.

في الاستدعاء الأخير لدالة الطباعة، سيتم طباعة قيمة x في القسم الرئيس وتؤكد على أنها لم تتأثر.

الدوال (Functions)

إذا كنت ترغب في تعيين قيمة لاسم محدَّد في المستوى الأعلى من جزء المقطع البرمجي (أي ليس ضمن نطاق معيَّن مثل الدوال أو الفئات)، فأنت بحاجة إلى إخبار بايثون أن الاسم ليس محليًّا (local) ولكنه عام (global).

يتم ذلك باستخدام المتغيِّرات العامة (Global Variables).

في المثال التالي يُستخدَم فيه الأمر العام (global) للإشارة إلى أن x هو متغيِّر عام، حيث يؤدي إسناد قيمة إلى x داخل الدالة لتغيير قيمة x في الجزء الرئيس.

الدوال (Functions)

بإمكانك مراجعة محتوي موضوع “الدوال (Functions)” بدايةً من عنوان “عبارة الإرجاع” وحتى نهاية الموضوع، من خلال الرابط التالي:

إلى هنا يكون قد انتهى موضوع “الدوال (Functions)”، لا تنسوا مراجعة نواتج التعلُّم أعلى المقال، وانتظرونا في الموضوع القادم!

روابط هامة

مقررات الفصل الدراسي الثاني

مشاركة المقال عبر:

اترك تعليقاً

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