الدرس الثاني عشر(100):إستدعاء الموديلات في بايثون


عندما نقوم بإنشاء الكائنات(الكلاسات) فإنه باﻹمكان أن نحتاج إلى استخدامها في تطبيقات أخرى غير التطبيق اﻷصلي الذي طورت من أجله،عندما نقوم بنقل كائن(كلاس) إلى مكان آخر ﻻستخدامه نسميه موديل Module.

من أجل إستدعاء الموديلات في البرامج سنستخدم الكلمة المفتاحية import متبوعة بإسم الموديل و لكن بشرط:إن كان الموديل من الموديلات الرئيسية و هي الموديلات المضمنة بشكل إفتراضي مع بايثون فيتم الإستدعاء بشكل مباشر و بدون مشاكل،أما إن كنت قد طورت موديلا خاصا بك،فعليك وضع الملف مع البرنامج الجديد من أجل أن يتعرف عليه مفسر بايثون بشكل آلي.

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

إقرا ألكود التالي:
import math
math.factorial(5)
كود بسيط أليس كذلك؟ما معنى الكود السابق
السطر اﻷول هو إستدعاء للموديل math المضمن بشكل إفتراضي مع مفسر بايثون
السطر الثاني هو إستدعاء للدالة factorial و التي هي جزء من الموديل فلو قمنا باستعراض الموديل math لوجدنا دالة مسماة بـ factorial،في الحقيقة الموديل math تمت برمجته عن طريق السي من أجل الحصول على سرعة أكبر من برمجته عن طريق بايثون بما أن السي هي لغة أقرب إلى لغة الآلة و بالتالي سرعة أكبر في التنفيذ.
الموديل math يحوي على دوال كثيرة،مثلا هنالك دالة تقوم بحساب الجذر التربيعي للأعداد،نستطيع إستخدامها بنفس الطريقة السابقة،نقوم باستدعاء الموديل ثم:
math.sqrt(144)
توجد العديد من الدوال التي يمكنك استخدامها من أجل القيام بالعمليات الرياضياتية،و طبعا توجد العديد من الموديلات اﻷخرى و التي تقوم بمهمات أخرى متعددة.

لننتقل اﻵن إلى نقطة أخرى و هي اﻹستدعاء المخصص:عندما نريد استدعاء دالة واحدة أو دوال متعددة فقط من الموديل ككل مثلا،نريد فقط إستخدام دالة factorial من الموديل math فلماذا نستدعي الموديل ككل،فسيكفينا إستدعاء الدالة لوحدها من الموديل كالتالي:
from math import factorial
و اﻵن لو أردنا إستخدام دالة factorial سنكتب فقط
factorial(5)

و لو أردنا استخدام دالة أخرى من الموديل math فلن نستطيع ذلك ﻷننا إستدعينا فقط الدالة factorial...و لو أردنا إستدعاء دالة sqrt أيضا نضيفها في كود اﻹستدعاء كالتالي:
from math import factorial,sqrt
و بالتالي نستدعي فقط الدوال التي نحتاجها بدل إستدعاء الموديل كاملا...إن رأيت بأنك تستخدم معظم دوال الموديل فاﻷفضل إستدعاؤه كاملا...
إنتهى درس اليوم،نلتقي في الدرس المقبل بحول الله،دمتم بود،سلام 

تعليقات

  1. https://www.4shared.com/get/YV4JhGI9/WroxBeginningPythonUsingPython.html beginning python : using python 2.6 and 3.1

    ردحذف

إرسال تعليق

شاركنا رأيك حول الموضوع...