שיעורי מודול (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איפה Python מחפש מודולים
Python מחפשת מודולים ב-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, PIif __name__ == "__main__":
כאשר סקריפט מבוצע ישירות, המשתנה המיוחד שלו __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`. הערך 'r'.
הצג רמז
מ- Math import sqrt
הפתרון זמין לאחר 3 ניסיונות
סקירת התרגיל
ייבא את המודול `אקראי` עם הכינוי `rnd` (`יבא אקראי כ-rnd`), ולאחר מכן הגדר את ה-seed ל-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.
הצג רמז
sin(0) מניב 0.0, cos(0) מניב 1.0. הסכום הוא 1.0. השתמש מתוך חטא יבוא מתמטיקה, כיון.
הפתרון זמין לאחר 3 ניסיונות