العودة إلى المدونة

استيراد الوحدات في Python 3: دليل شامل

استيراد الوحدات في Python 3: دليل شامل

مقدمة

معظمنا على دراية بـ Python كلفة برمجة. أحد الأشياء الرائعة في Python 3 هو العدد الهائل من الدوال المضمنة التي توفرها. يمكنك الوصول إلى هذه الدوال عندما تستخدم Python 3 لكتابة أنواع مختلفة من الأكواد. قبل أن نبدأ، ألقِ نظرة على برنامجنا التعليمي حول تثبيت Python 3 وإعداد بيئة برمجة محلية على Ubuntu 16.04. الآن، دعونا نلقي نظرة على بعض دوال Python المفيدة:

  • print(): تمكنك هذه الدالة من طباعة التعبيرات.
  • abs(): باستخدام هذه الدالة، يمكنك الحصول على القيمة المطلقة لأي رقم.
  • int(): تتيح لك هذه الدالة تحويل أي نوع بيانات معين إلى عدد صحيح.
  • len(): تعرض لك طول أي تسلسل أو مجموعة.

هل الدوال المضمنة كافية؟

للأسف، هذه الدوال المضمنة ليست كافية بمفردها. عند البرمجة باستخدام Python 3، قد تجد نفسك بحاجة إلى المزيد من الوظائف. أنت لا تريد أن تكون محدودًا بالميزات الافتراضية للبرنامج فقط. وهنا يأتي دور الوحدات (modules).

ما هي الوحدات؟

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

لنفترض أن لديك ملف Python يسمى hello.py. اسم الوحدة لهذا الملف هو hello. يمكنك استيراد هذه الوحدة إلى ملفات Python الأخرى بسهولة. يمكنك أيضًا استخدامها على مفسر سطر أوامر Python. الطريقة التي تستورد بها الوحدات في ملفات مختلفة هي باستخدام عبارة import. عند استيراد وحدة، فإنك تقوم أساسًا بتنفيذ الكود الموجود داخل الوحدة. أنت تجعل التعريفات الموجودة في الوحدة قابلة للاستخدام في الملف الحالي.

في هذا الدليل الشامل، سنغطي كيفية التحقق من الوحدات وتثبيتها في Python 3. سنتحدث أيضًا عن كيفية استيراد وحداتك وتعيين أسماء مستعارة لها.

كيفية التحقق من وجود الوحدات؟

كما ذكرنا سابقًا، هناك بعض الوحدات المضمنة في Python 3. يمكن العثور عليها في مكتبة Python القياسية. تحتوي هذه المكتبة على العديد من الوحدات القياسية التي تؤدي بعض وظائف وحلول النظام الأساسية. إنها ميزة افتراضية تحصل عليها عندما تقوم بـ تثبيت Python.

إذا كنت بحاجة إلى التحقق مما إذا كانت هذه الوحدات جاهزة للاستخدام، فأنت بحاجة إلى إعطاء أمر. ستحتاج إلى الدخول إما إلى بيئة برمجة Python 3 المحلية أو بيئة البرمجة المستندة إلى الخادم. ثم سيتعين عليك تشغيل مفسر Python في سطر الأوامر الخاص بك. سيبدو الأمر كالتالي:

الآن، يمكنك تشغيل عبارة import. سيؤكد هذا أنه يمكن استدعاء الوحدة عند الحاجة إليها. لنفترض أنك قمت بتشغيل الأمر مع وحدة math :

إن وحدة math هي وحدة مضمنة في Python. هذا يعني أن المفسر سيكمل المهمة دون أي استجابة. سيعيدك إلى موجه الأوامر. يمكنك البدء في استخدام الوحدة على الفور دون أي إجراء آخر.

كيفية تثبيت الوحدات؟

من ناحية أخرى، لنفترض أنك تريد تشغيل وحدة غير مثبتة. في مثالنا، سنأخذ بعين الاعتبار مكتبة الرسم ثنائي الأبعاد matplotlib. إليك كيف يمكنك تشغيل عبارة import مع مثل هذه الوحدة:

إذا لم تقم بتثبيت الوحدة، فستتلقى خطأً مثل هذا:

لجعلها تعمل، تحتاج أولاً إلى إلغاء تنشيط مفسر Python. يمكنك القيام بذلك باستخدام CTRL + D. بعد ذلك، يجب عليك تثبيت matplotlib باستخدام pip:

الآن ستتمكن من استيراد matplotlib بنجاح في المفسر باستخدام الأمر import matplotlib. هذه المرة، لن يرجع خطأً.

كيفية استيراد الوحدات؟

دعنا نستكشف كيفية استيراد الوحدات. لاستخدام وظائفها، يجب عليك استيراد الوحدة باستخدام عبارة import. تتكون العبارة من الكلمة المفتاحية import مقترنة باسم الوحدة. عادةً ما يكون اسم الوحدة موجودًا في الجزء العلوي من الكود في ملف Python.

على سبيل المثال، إذا كنت تنظر إلى ملف Python يسمى my_rand_int.py، فستقوم باستيراد وحدة random لتوليد أرقام عشوائية:

سيتعين عليك الإشارة إلى الدالة بصيغة النقطة (dot notation). سيبدو الأمر كالتالي: [module].[function]. هذا يعني أساسًا أنه يمكنك استخدام الوحدة كمجال أسماء (namespace) منفصل في الملف الحالي.

استمرارًا مع الوحدة، دعنا نلقي نظرة على بعض الدوال:

  • random.randint(): ستقوم هذه الدالة بإرجاع عدد صحيح عشوائي.
  • random.randrange(): ستقوم هذه الدالة بإرجاع عنصر عشوائي من نطاق معين. دعنا نرى كيف يمكنك إنشاء حلقة for. سنقوم باستدعاء إحدى الدوال الخاصة بوحدة random في برنامجنا الحالي وهو my_rand_int.py:
سيقوم البرنامج باستيراد الوحدة ثم الدخول في حلقة for. كما ترى، ستعمل الحلقة مع 10 عناصر. سيقوم البرنامج بطباعة عدد صحيح عشوائي ضمن النطاق الشامل من 1 إلى 25. وهذا يعني أن الأعداد الصحيحة لـ 1 و 25 هي معلمات الدالة random.randint().

الآن عند تشغيل البرنامج باستخدام python my_rand_int.py، ستحصل على 10 أعداد صحيحة عشوائية في المخرجات مثل هذا:

نظرًا لأننا استخدمنا وحدة random، فستحصل على أعداد صحيحة جديدة في كل مرة. ومع ذلك، لن تتجاوز 25 أو تقل عنها. في بعض الأحيان، يمكنك أيضًا استخدام عبارات استيراد import متعددة في نفس الوقت مثل هذا:

سنستخدم وحدتنا الإضافية عن طريق إضافة pi من math إلى البرنامج. سنقوم بتقليل عدد الأعداد الصحيحة العشوائية أيضًا:

الآن سيبدو الناتج لدينا كالتالي:

لدينا خمسة أعداد صحيحة عشوائية والقيمة التقريبية لـ pi.

كيفية استخدام from….import؟

بصرف النظر عن import، هناك عبارة أخرى يجب أن تعرفها وهي from … import. هذا مفيد عندما لا ترغب في الإشارة إلى دوالك باستخدام تدوين النقطة. بهذه الطريقة، يمكنك استدعاء الدوال باسمها وتحديد المراجع مباشرة. في هذا المثال، سنقوم باستيراد دالة randint() من وحدة random :

نحن نحدد الدالة التي نريد استدعاءها مباشرة. حتى في برنامجنا، ليس علينا سوى ذكر اسم الدالة دون تدوين النقطة:

سيكون الناتج هو نفسه الذي رأيته أعلاه. الفرق هو أنه يمكنك الآن تجنب استخدام تدوين النقطة تمامًا.

كيفية إعطاء أسماء مستعارة للوحدات؟

يجب أن تكون على دراية أيضًا بـ as الكلمة المفتاحية. باستخدام هذه الكلمة المفتاحية، يمكنك تغيير أسماء الوحدات ودوالها. قد تحتاج إلى القيام بذلك إذا كان لديك وحدة موجودة بالفعل أو مستوردة حديثًا تستخدم نفس الاسم. ستظهر العبارة على هذا النحو لتسمية الوحدات بأسماء مستعارة:

في مثالنا، سنقوم بتعديل اسم وحدة math . سنقوم باختصارها وتغييرها إلى m . سيبدو البرنامج كالتالي:

كما ترى، بدلاً من الإشارة إلى pi باسم math.pi، فإننا نستدعيها باسم m.pi.

تحتوي بعض الوحدات على أسماء مستعارة رسمية. هذا لأن من الشائع جدًا أن يستخدم الأفراد أسماء مستعارة بدلاً من أسمائهم الفعلية. خذ وحدة matplotlib.pyplot بعين الاعتبار. في التوثيق الرسمي، اسمها المستعار هو plt . يمكنك إنشاء الاسم المستعار على النحو التالي:

الخاتمة

إن القدرة على إضافة واستيراد الوحدات توسع حقًا عالم برمجة بايثون. فهي تتيح لك الوصول إلى ما هو أبعد من الدوال المدمجة فقط. يمكنك استخدام وحدات بايثون الافتراضية بالإضافة إلى تلك التي تقوم بتثبيتها باستخدام pip . تأكد من الاستفادة من هذه الميزة عند إنشاء شيء أكثر تعقيدًا أو تطورًا. فهي تسهل عملك، وتتيح مجالاً للإبداع، وتساعد في بناء برامج قوية.

أخيرًا، إليك بعض الموارد الإضافية من مدونتنا والتي ستساعدك على الاستفادة بشكل أكبر من بايثون:

حوسبة سعيدة!

author

Hark Labs

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.