دروس الوحدة (4/4)
الاستيراد والوحدات النمطية
الوحدة في لغة Python هي ببساطة ملف .py. لاستخدام رمز الوحدة النمطية
من ملف آخر، يمكنك استيراده.
نماذج import
# 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، والتي تتضمن:
- دليل البرنامج النصي قيد التشغيل،
- الدلائل في
PYTHONPATH، - المكتبات المثبتة (
site-packages).
import sys
sys.path # lista di directoryإنشاء وحدة
إنشاء mio_modulo.py:
# mio_modulo.py
PI = 3.14159
def area_cerchio(r):
return PI * r * rمن ملف آخر في نفس الدليل:
import mio_modulo
mio_modulo.area_cerchio(5) # 78.53975
from mio_modulo import area_cerchio, PIمحمي_INLINE_11
عند تنفيذ البرنامج النصي مباشرةً، يكون المتغير الخاص به __name__
يساوي "__main__". عند استيراد نفس الملف كوحدة نمطية**،
__name__ يساوي اسم الوحدة.
# 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 (حتى لو كان فارغًا) ملفًا
الحزمة القابلة للاستيراد:
mio_pkg/
__init__.py
utenti.py
pagamenti.py
from mio_pkg import utenti
from mio_pkg.utenti import crea_utenteدورك
قم باستيراد الدالة `sqrt` من وحدة `math` (مع ``from math import sqrt`)، ثم احسب الجذر التربيعي لـ 144 وقم بتعيينه إلى `r`. تقييم "ر".
إظهار التلميح
من استيراد الرياضيات sqrt
الحل متاح بعد 3 من المحاولات
تمرين المراجعة
قم باستيراد الوحدة "العشوائية" بالاسم المستعار "rnd" ("استيراد عشوائي كـ rnd")، ثم اضبط البذرة على 42 باستخدام rnd.seed(42)، وقم بتقييم rnd.randint(1, 100).
إظهار التلميح
استيراد عشوائي كـ rnd
الحل متاح بعد 3 من المحاولات
التحدي الإضافي
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 من المحاولات