דילוג לתוכן המרכזי
מודול 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

איפה Python מחפש מודולים

Python מחפשת מודולים ב-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

if __name__ == "__main__":

כאשר סקריפט מבוצע ישירות, המשתנה המיוחד שלו __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`. הערך 'r'.

טוען עורך...
הצג רמז

מ- Math import sqrt

הפתרון זמין לאחר 3 ניסיונות

סקירת התרגיל

פעילות גופנית#python.m7.l4.e2
ניסיונות: 0טוען...

ייבא את המודול `אקראי` עם הכינוי `rnd` (`יבא אקראי כ-rnd`), ולאחר מכן הגדר את ה-seed ל-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.

טוען עורך...
הצג רמז

sin(0) מניב 0.0, cos(0) מניב 1.0. הסכום הוא 1.0. השתמש מתוך חטא יבוא מתמטיקה, כיון.

הפתרון זמין לאחר 3 ניסיונות