تعريف الدالة إذا كنت تعرف كيف تعمل مع هياكل القرار مثل بيانات If وحلقات مثل حلقة for و while loop في بايثون عندها يمكنك كتابة أي برنامج في العالم والدوال بالمعنى الدقيق للكلمة ليست ضرورية ومع ذلك، فإننا نكتب معظم التعليمات البرمجية الخاصة بنا حتى الآن في شكل نصي مما يعني أنه لا يوجد الكثير من التنظيم لها كل التعليمات البرمجية الخاصة بنا متاخمة ضد الحافة اليسرى للمحرر ويمكنك أن تتخيل أنه إذا انتهى بنا الأمر بإنتاج 100 أو 1000 أو 10000 سطر من التعليمات البرمجية سيكون ذلك صعبًا جدًا وهنا يأتي دور الدوال والأمر كله يتعلق بتنظيم التعليمات البرمجية الخاصة بك وإنتاج كود يمكن إدارته وصيانته برنامج مقابل نص قصير الآن إنشاء الدوال الخاصة أمر سهل حقًا كل ما عليك فعله هو استخدام عمق الكلمة المفتاحية للتعريف def وأنت يمكنك تسمية الدالة كما تريد def name واتبع ذلك بأقواس ونقطتين وبالطبع النقطتين تعني أنه يجب وضع مسافة بادئة للسطر التالي وهذا السطر التالي سيكون عبارة واحدة أو أكثر التي تشكل جسم دالتك الآن يجب أن يكون لدي سطر واحد قابل للتنفيذ على الأقل من التعليمات البرمجية ولكن يمكنني استخدام كلمة pass الرئيسية وهي نوع من العنصر النائب حتى تكتشف ماذا تريد أن تفعل لذلك في الواقع يجب أن يتم تجميع هذا لن تعمل، لا يوجد شيء تفعله لأن هذا يتحقق فقط من تسلسل هذه الدالة ثم يخزنها بعيدًا في الذاكرة لاستخدامها لاحقًا ولن يتم ذلك حتى تستدعي الدالة أو تستحضرها ثم سيتم تنفيذ هذا الكود الذي تم وضع مسافة بادئة فيه بالفعل إذن، هناك اصطلاح في البرمجة، وليس فقط لغة Python ولكن في C و C ++ و Java C-sharp لبدء برنامجك الذي قد يحتوي على العديد من الملفات تتكون من الكثير والكثير من التعليمات البرمجية لكن نقطة البداية حسب الاصطلاح تسمى main لذلك سنلتزم بهذا الاصطلاح وحتى نتمكن من الحصول على شيء يظهر سنقول في الدالة الرئيسية in main الآن، كما ذكرت من قبل، سيتم تجميع هذا لكنها لن تفعل أي شيء حتى استدعي بالفعل الدالة باستخدام اسمها وسنرى النتائج الآن يمكنك الحصول على العديد من الدوال كما تريد داخل برنامجك وهذه إحدى المزايا الرئيسية هي إعادة استخدام الكود لنفترض أنني أردت عرض كل اللغات التي أعرفها حسنًا، بالطبع أنا أعرف اللغة الإنجليزية لكني أعرف عدة لغات أخرى وسأضع بعضًا منهم هنا وبالمناسبة HTML هذه لغة ترميزية إنها ليست لغة برمجة لكنها لغة تُستخدم لجعل صفحة الويب الخاصة بك منظمة بشكل أفضل وتبدو أفضل قليلاً لكن الآن بعد هذا السطر هنا، يمكنني استدعاء الدالة الأخرى عرض اللغات display languages ولذا يجب أن نرى إخراج الطباعة التي كانت في main ولكن يجب أن يستدعي أيضًا دالتي ويريني كل هذه اللغات الآن، ماذا لو أردنا إظهار سيرتنا الذاتية ومن المؤكد أن عرض سيرتك الذاتية print resume يجب أن تتضمن اللغات التي تعرفها خاصة إذا كنت مبرمجًا ولكن يمكننا إنشاء دالة أخرى ربما نسميها display resume أو عرض السيرة الذانية ربما يتضمن اسمك ورقم هاتفك وجزء من هذا سيكون بالتأكيد اللغات التي تعرفها لذلك يمكنني أن أجعل هذه الدالة تستدعي الدالة أعلاه في جوهرها، تربط هؤلاء معًا ويمكنني ترك هذا هنا أو يمكنني التعليق على ذلك وبعد resume ربما بسطر جديد إضافي لذا سآخذ سطرين جديدين لذلك سيكون مثل العنوان وبعد ذلك سأستدعي display resume لذلك ستعرض عرض السيرة الذاتية display resume اسمي ورقم هاتفي ثم لغتي باستدعاء الدالة التي تعلوها إذا لم يكن لدي أي أخطاء في بناء الجملة إذن، هناك قاعدة واحدة في بايثون، لقد نسيت النقطتين لكن ما كنت سأذكره أحد الأخطاء الشائعة في Python هو نسيان الطباعة اللاحقة وسيظهر ذلك غالبًا على السطر بعد المشكلة الفعلية لذلك في حالتي، لقد نسيت النقطتين ويمكنك رؤية سيرتي الذاتية