إستدعاء المكتبات والملفات الأخرى

لإستدعاء المكتبات الإفتراضية أو المكتبات الأخرى أو حتى الملفات التي نقوم بكتابتها نحن نستخدم أمر import.
أولا إليكم هذا المثال البسيط لكيفية إستدعاء الملفات,
أولا نقوم كتابة السطور التالية وحفظها في ملف باسم testmod.py ونفظه في مجلد التجارب
ومحتوى الملف السابق هو على النحو التالي
class TestClass:
def __init__(self):
print('create TestClass')
def test_method(self, val):
print('call test_method')
print(val)
بعد حفظ هذا الملف نقوم بكتابة الملف الخاص بتنفيذ هذا الملف
ملحوظة يمكن إستدعاء الملفات في أي جزء من ملفات البايسون ولا يلزم إستدعائه في بداية الملفات
ومحتوى ملف الإستدعاء أو التنفيذ هو كما يلي
import testmod
test_class_1 = testmod.TestClass()
test_class_1.test_method('1')
from testmod import TestClass
test_class_2 = TestClass()
test_class_2.test_method('2')
وتكون نتيجة التنفيذ هي على النحو التالي
create TestClass
call test_method
1
create TestClass
call test_method
2
كما نرى في السطر الأول قمنا باستدعاء الملف باستخدام أمر import, وبهذا يكون مكتوى ملف testmod جاهزا للإستخدام. وعند إستدعاء ملفات البايسون الأخرى نقوم بكتابة اسم الملف بدون الإمتداد وهو .py
وفي السطر التالي قمنا بإنشاء كاءن لكلاس أو إطار TestClass الموجود داخل ملف testmod.py, وفي هذه الحالة نقوم بكتابة اسم ملف البايسون ثم نقطة ثم اسم الكلاس أو الإطار,
ومن ثم قمنا باستدعاء دالة test_method الموجودة في إطار TestClass
وبدلا عن هذه الطريقة كتابة اسم الملف ثم نقطة ثم اسم الإطار فيمكننا كتابتها بطريقة أخرى, وذلك كما هو موضح في السطر السابع قمنا باستخدام خاصية from. وبعد كتابة خاصية from نقوم بكتابة اسم الملف بدون الإمتداد, وبعد أمر import نقوم بكتابة اسم الإطار المراد إستخدامه. وبهذه الطريقة نقوم باستخدام اسم الئغطار فقط لإستدعاء الدوال المختلفة.
ولكن باستخدام هذه الطرق وفي بعض الأحيان قد تواجهنا بعض المشاكل, كتشابه أسماء المكتبات الخارجية مع الملفات أو تكون أسماء الملفات والمكتبات طويلة جدا أو معقدة بعض الشيء
ولتجنب هذه المشاكل فيمكننا تعيين اسم خاص, وذلك باستخدام خاصية as عند
ومن ثم نقوم باستخدام هذا الاسم عند إستدعاء الإطارات والدوال المختلفة
وإليكم المثال التالي لكيفية الإستخدام
from datetime import datetime
datetime.today()
from datetime import datetime as d
d.today()
كما نرى في هذه السطور بإستخدام خاصية as يمكننا تعيين أي اسم آخر,
وفي هذا المثال قمنا بكتابة أمر today مرتين, وليس هنالك أي إختلاف في النتائج, فقط يوجد الإختلاف في طريقة الكتابة
فينصح باستخدام خاصية as وذلك من أجل تعيين أسماء سهلة التعامل والحفظ