حان الوقت للحديث عن الوظائف.
هذا هو المكان الذي تصبح فيه الأشياء مثيرة للاهتمام حقًا لأننا حتى الآن رأينا وظائف تكتب وظائف
حيث أشياء مثل الطباعة ، مثل السبائك القائمة.
حتى أننا رأينا وظيفة الإدخال للحصول على مدخلات من أي نوع من أنواع المستخدمين وتلك التي سمحت لنا بتنفيذ
إجراءات على أنواع بياناتنا.
لكن القوة الحقيقية تأتي عندما نبدأ في إنشاء وظائفنا الخاصة.
هذا صحيح.
نحن لا نقتصر على ما تقدمه لنا بايثون.
نحن قادرون على إنشاء وظائفنا الخاصة واستخدامها في برامجنا.
لذلك دعونا نتعلم كيفية القيام بذلك.
بالمناسبة ، الطريقة التي ننشئ بها دالة في Python والوظائف موجودة في جميع لغات البرمجة.
إنها مهمة جدًا جدًا.
إذا فعلنا ذلك ، فهذا يتيح لمترجم بايثون معرفة أننا على وشك تحديد دالة.
Def هو اختصار للتعريف.
سيقول المترجم ، حسنًا ، إنهم على وشك تحديد وظيفة.
ماذا ستكون الوظيفة؟
حسنًا ، يمكننا إنشاء ما نريد.
نستخدم نفس حالة التسمية كما نستخدمها مع المتغيرات لتحديد وظائفنا.
لذلك دعونا ننشئ دالة مرة أخرى.
سنسميها قل مرحبا.
مجرد متغير قمت بإنشائه.
لكن هذه المرة هي وظيفة لأننا نستخدم الكلمة الأساسية def الآن هنا ونقول مرحبًا.
نضيف أيضًا الأقواس للسماح للمترجم الفوري بمعرفة أن هذا شيء سنتخذ
إجراءً بشأنه أو أنه سينفذ إجراءً على نوع البيانات.
نستخدم النقطتين ثم داخل كتلة التعليمات البرمجية هذه ، يمكننا القول طباعة.
مرحبًا.
وهذه وظيفة.
إذا قمت بالنقر فوق تشغيل.
همم.
لم يحدث شيء.
لماذا هذا؟
حسنًا ، لقد أنشأنا وظيفة قل مرحبًا ، وقمنا بتعريفها ، وهي الآن تعيش في مكان ما في الذاكرة على
أجهزتنا.
ومع ذلك ، من أجل استخدام دالة ، تذكر ، تمامًا كما نستخدم وظيفة الطباعة ، يجب أن نسميها
بين قوسين.
لذلك بعد أن نحدد دالة ، نقول مرحبًا.
وهل لاحظت كيف تموج بلدي.
حالما قلت أقول.
في الواقع يعطيني الأمر say hello لأنني أنشأته.
وترى هذا الصندوق الأرجواني الذي يظهر أنه دالة؟
حسنًا ، لدينا الآن إمكانية استخدامها ، تمامًا مثلما كانت لدينا وظيفة الطباعة المتاحة لنا لاستخدامها.
لذلك إذا قلت مرحبًا وقمت بتشغيله مع الأقواس وقمت بالنقر فوق تشغيل.
انا حصلت.
مرحبًا؟
كم ذلك رائع؟
بالمناسبة ، ماذا يحدث إذا قمت بتشغيله بدون الأقواس وقمت بالنقر فوق تشغيل؟
لا شيء يحدث ، لأن تذكر ، لكي نتخذ إجراءً ، علينا إخبار المترجم الفوري.
مرحبًا ، أريد أن أركض.
قل مرحبا.
الآن سبب قوة الوظائف هو المبدأ الذي تحدثنا عنه.
الصحيح.
فكرة DRI ، والتي تعني لا تكرر نفسك.
الوظائف مفيدة حقًا عندما يكون لديك أشياء تريد القيام بها مرارًا وتكرارًا.
على سبيل المثال ، وظيفة الطباعة ، استخدمناها كثيرًا.
تخيل لو كان علينا أن نبرمج ذلك بأنفسنا في كل مرة ونقول ما تفعله وظيفة الطباعة.
لحسن الحظ ، تعطينا Python نسخة مطبوعة لأنها أداة مفيدة.
لكن إذا أردنا في برنامجنا أن نقول مرحبًا عدة مرات ويمكنك أن تتخيل أن هذا في الواقع أكثر تعقيدًا ، ربما
عشرة أسطر من التعليمات البرمجية.
بدلاً من كتابة هذه الأسطر العشرة من الكود مرارًا وتكرارًا ، يمكنني فقط تعريفها كوظيفة واستخدامها
في أي مكان أريده في برنامجي.
على سبيل المثال ، تذكر هذا حيث كانت لدينا صورة وقمنا بطباعة شجرة عيد الميلاد.
تخيل لو أردنا تشغيل هذا عدة مرات.
حسنًا ، من أجل القيام بذلك ، أود نسخ هذا الرمز ولصقه.
ثم قم بإضافته مرة أخرى.
وإذا قمت بالنقر فوق تشغيل.
لدي الآن شجرتا عيد الميلاد ، لكن هذا يلقي نظرة على 26 سطرًا من التعليمات البرمجية.
أنا فقط أقوم بنسخ ولصق نفس الشيء مرارًا وتكرارًا باستخدام وظيفة.
يمكننا القيام بشيء مثل هذا.
استطيع ان اقول.
تحديد العرض.
شجرة.
كولين ولدينا الآن وظيفة.
لكن تذكر المسافة البادئة في بايثون ، أليس كذلك؟
المسافة البادئة مهمة.
لدينا الفاصلة المنقوطة ، ونحدد دالة.
لذلك علينا إنشاء كتلة الكود تلك داخل القول ، مهلا ، كل ما تم وضع مسافة بادئة له هنا ، هذا جزء من هذه
الوظيفة.
والآن بعد أن أصبح لدينا شجرة العرض ، تحقق من ذلك.
أستطيع أن أقول عرض الشجرة ، قم بتشغيلها مرة أخرى.
ربما لنشغلها ثلاث مرات.
إذا قمت بالنقر فوق تشغيل.
كم ذلك رائع؟
أنا قادر على فعل الشيء نفسه مرارًا وتكرارًا بمجرد استدعاء هذه الوظيفة.
وهذه هي قوة الوظائف.
تسمح لنا الوظائف بالحفاظ على كودنا جافًا.
نحن لا نكرر أنفسنا ونعيد استخدام الأشياء التي يمكن أن تقوم بها أجهزتنا مرارًا وتكرارًا.
والجمال هو أن هذا يبقى ذكرى لنا.
لذا فإن الشجرة الآن تعني شيئًا لهذا البرنامج لأننا أنشأناه.
لذلك لدينا إجراء مخصص يمكننا اتخاذه.
الآن ، ماذا يحدث إذا انتقلت؟
تظهر الشجرة هنا في الأعلى.
حسنًا ، إذا قمت بتشغيل هذا.
سأحصل على اسم جوي.
اسمها.
لم يتم تعريف إظهار الشجرة.
لماذا هذا؟
حسنًا ، لأن مترجمنا يسير سطراً سطراً.
تقول أولاً ، حسنًا ، الصورة تساوي هذه القيمة.
ثم ينتقل إلى السطر 11 ويقول ، اركض ، اعرض الشجرة.
لكننا لم نحدد شجرة العرض حتى الآن ، لذا فإن مترجم بايثون سوف يخطئ ويقول ، مرحبًا ، ليس
لدي أي فكرة عن شجرة العرض.
ما الذي تتحدث عنه؟
بدلاً من ذلك ، مع وظيفة ، نحتاج إلى التأكد من تحديد الوظائف في البداية.
لذلك يقول مترجم بايثون ، حسنًا.
إظهار الشجرة الآن يعني هذا.
لن أقوم بتشغيله.
لن أستخدمه بعد.
سأحتفظ به في الذاكرة.
وعندما صادفت أخيرًا Show Tree ، سأعرف أنها تعني شيئًا ما.
سألتقطها من الذاكرة باستخدام شجرة العرض ثم سأقوم بتشغيلها باستخدام الأقواس.
على سبيل المثال ، إذا قمت بطباعة شجرة العرض بدون أي شيء ، بدون الأقواس ، إذا قمت بالنقر فوق تشغيل.
ترى أنني أحصل على شجرة عرض الوظيفة في هذا الموقع.
هذا مجرد موقع في الذاكرة.
هذا هو رف الكتب حيث نخزن وظيفة الشجرة.
رائع جدا.
والوظائف هي مفهوم مهم وقوي في البرمجة.
وفي الفيديو التالي ، سنقوم بتوسيع هذا واستكشاف هذا أكثر قليلاً.
سأراك في المرحلة التالية.