الانتقال إلى المحتوى الرئيسي
الوحدة 7 · الدرس 4 من 428/36 في الدورة~10 min
دروس الوحدة (4/4)

الاستيراد والوحدات النمطية

الوحدة في لغة Python هي ببساطة ملف .py. لاستخدام رمز الوحدة النمطية من ملف آخر، يمكنك استيراده.

نماذج import

Python
# 1) import del modulo intero
import math
math.sqrt(16)        # 4.0
math.pi              # 3.14159...

# 2) import di nomi specifici
from math import sqrt, pi
sqrt(16)             # ora direttamente disponibile
pi

# 3) import con alias
import numpy as np      # convenzione idiomatica
from datetime import datetime as dt

# 4) import "star" (sconsigliato)
from math import *      # inquina il namespace, evita

حيث تبحث بايثون عن الوحدات النمطية

تبحث بايثون عن الوحدات النمطية في sys.path، ​​والتي تتضمن:

  1. دليل البرنامج النصي قيد التشغيل،
  2. الدلائل في PYTHONPATH،
  3. المكتبات المثبتة (site-packages).
Python
import sys
sys.path     # lista di directory

إنشاء وحدة

إنشاء mio_modulo.py:

Python
# mio_modulo.py
PI = 3.14159

def area_cerchio(r):
    return PI * r * r

من ملف آخر في نفس الدليل:

Python
import mio_modulo
mio_modulo.area_cerchio(5)   # 78.53975

from mio_modulo import area_cerchio, PI

محمي_INLINE_11

عند تنفيذ البرنامج النصي مباشرةً، يكون المتغير الخاص به __name__ يساوي "__main__". عند استيراد نفس الملف كوحدة نمطية**، __name__ يساوي اسم الوحدة.

Python
# strumento.py

def fai_qualcosa():
    print("lavoro!")

if __name__ == "__main__":
    # eseguito solo se lanci `python strumento.py`
    # NON viene eseguito se qualcuno importa questo file
    fai_qualcosa()

هذا هو النمط القياسي للملفات التي يمكن أن تكون بمثابة ملفات قابلة لإعادة الاستخدام الوحدة النمطية ** و ** البرنامج النصي القابل للتنفيذ **.

الحزم: مجلدات الوحدات

يصبح الدليل الذي يحتوي على ملف __init__.py (حتى لو كان فارغًا) ملفًا الحزمة القابلة للاستيراد:

Code
mio_pkg/
    __init__.py
    utenti.py
    pagamenti.py
Python
from mio_pkg import utenti
from mio_pkg.utenti import crea_utente

دورك

تمرين#python.m7.l4.e1
المحاولات: 0جارٍ التحميل…

قم باستيراد الدالة `sqrt` من وحدة `math` (مع ``from math import sqrt`)، ثم احسب الجذر التربيعي لـ 144 وقم بتعيينه إلى `r`. تقييم "ر".

جارٍ تحميل المحرر…
إظهار التلميح

من استيراد الرياضيات sqrt

الحل متاح بعد 3 من المحاولات

تمرين المراجعة

تمرين#python.m7.l4.e2
المحاولات: 0جارٍ التحميل…

قم باستيراد الوحدة "العشوائية" بالاسم المستعار "rnd" ("استيراد عشوائي كـ rnd")، ثم اضبط البذرة على 42 باستخدام rnd.seed(42)، وقم بتقييم rnd.randint(1, 100).

جارٍ تحميل المحرر…
إظهار التلميح

استيراد عشوائي كـ rnd

الحل متاح بعد 3 من المحاولات

التحدي الإضافي

تمرين#python.m7.l4.e3
المحاولات: 0جارٍ التحميل…

Import the `sin` and `cos` functions directly from the `math` module using `from ... import ...`. Calculate the sum of `sin(0)` and `cos(0)`, store it in `trig_sum`, and evaluate it.

جارٍ تحميل المحرر…
إظهار التلميح

الخطيئة (0) تعطي 0.0، جتا (0) تنتج 1.0. المجموع هو 1.0. استخدم من الرياضيات استيراد الخطيئة، كوس.

الحل متاح بعد 3 من المحاولات