0Pricing
Python Academy · درس

إنشاء الوحدات واستيرادها

اكتب وحداتك الخاصة واستوردها إلى نصوص برمجية أخرى

إنشاء الوحدات واستيرادها درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

مقدمة

الوحدة هي ملف Python يحتوي على دوال وفئات ومتغيرات يمكن استيرادها إلى نصوص برمجية أخرى.

ما الوحدة؟

أي ملف بامتداد .py هو وحدة. ويمكن استيراد utils.py كما يلي: import utils. وتبحث Python عن الوحدات في sys.path.
import sys
print(sys.path[:3])

تعليمة import

تستورد import math الوحدة بأكملها. ويمكنك الوصول إليها باستخدام math.sqrt(16). وتُخزَّن الوحدة مؤقتًا بعد أول عملية استيراد.
import math
print(math.sqrt(16))
print(math.pi)

from ... import

يستورد from math import sqrt, pi أسماءً محددة إلى مساحة الأسماء المحلية. ولا تعود بحاجة إلى السابقة math. .
from math import sqrt, pi
print(sqrt(25))
print(pi)

import as (الأسماء المستعارة)

يمنح import numpy as np الوحدة اسمًا محليًا أقصر. وهذا مفيد لأسماء الوحدات الطويلة.
import os.path as osp
print(osp.join('a', 'b', 'c'))

from ... import *

يستورد from math import * كل شيء. تجنب ذلك، لأنه يلوث مساحة الأسماء ويجعل معرفة مصدر الأسماء أمرًا صعبًا.
# Avoid:
# from math import *
# Use explicit imports instead
print('namespace tip')

__name__ == '__main__'

تُنفذ if __name__ == '__main__': فقط عند تشغيل الملف مباشرةً، وليس عند استيراده كوحدة.
# In your script:
# if __name__ == '__main__':
#     main()
print(__name__)

إعادة تحميل الوحدات

تعيد importlib.reload(module) استيراد وحدة معدّلة دون إعادة تشغيل البرنامج. وهذا مفيد في الجلسات التفاعلية.
import importlib, math
importlib.reload(math)
print('reloaded')

dir() وhelp()

تعرض dir(math) جميع الأسماء الموجودة في الوحدة. وتعرض help(math.sqrt) سلسلة التوثيق.
import math
print(dir(math)[:5])

مسار البحث عن الوحدات

تبحث Python في: مجلد البرنامج النصي، وPYTHONPATH، ومجلد التثبيت الافتراضي. أضف مسارات باستخدام sys.path.insert(0, '/mydir').
import sys
sys.path.insert(0, '/tmp')
print(sys.path[:3])

متغير __all__

عرّف __all__ = ['func1', 'func2'] داخل وحدة للتحكم في العناصر التي يصدّرها from module import *.
# In mymodule.py:
# __all__ = ['public_func']
# def public_func(): ...
# def _private(): ...
print('__all__ demo')

تحقق سريع

ما الذي يمنع حدوثه الشرط if __name__ == '__main__':؟

خلاصة

الوحدات هي ملفات ‎.py. استخدم import أو from...import. يحمي if __name__=='__main__': نقاط الدخول. تعرض dir() الأسماء. يتحكم sys.path في ترتيب البحث.

واصل التقدم

ممتاز! تابع إلى الدرس التالي لتعميق مهاراتك.

الأسئلة الشائعة

هل درس «إنشاء الوحدات واستيرادها» مجاني؟

نعم — نص درس «إنشاء الوحدات واستيرادها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «إنشاء الوحدات واستيرادها»؟

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

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «إنشاء الوحدات واستيرادها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. إنشاء الوحدات واستيرادها
  2. المكتبة القياسية في Python
  3. الحزم و__init__.py
  4. تثبيت الحزم باستخدام pip
← العودة إلى Python Academy