Bài học theo mô-đun (4/4)
nhập và mô-đun
mô-đun trong Python chỉ đơn giản là một tệp .py. Để sử dụng mã của một mô-đun
từ một tập tin khác, bạn nhập nó.
Các hình thức 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, evitaNơi Python tìm kiếm các mô-đun
Python tìm kiếm các mô-đun trong sys.path, bao gồm:
- thư mục của tập lệnh đang chạy,
- các thư mục trong
PYTHONPATH, - các thư viện đã cài đặt (
site-packages).
import sys
sys.path # lista di directoryTạo một mô-đun
Tạo mio_modulo.py:
# mio_modulo.py
PI = 3.14159
def area_cerchio(r):
return PI * r * rTừ một tệp khác trong cùng thư mục:
import mio_modulo
mio_modulo.area_cerchio(5) # 78.53975
from mio_modulo import area_cerchio, PIif __name__ == "__main__":
Khi một tập lệnh được thực thi trực tiếp, biến đặc biệt của nó __name__
bằng "__main__". Khi cùng một tệp được nhập dưới dạng mô-đun,
__name__ bằng tên mô-đun.
# 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()Đây là mẫu tiêu chuẩn cho các tệp có thể phục vụ như một tái sử dụng được. module và một tập lệnh có thể thực thi.
Gói: thư mục của các mô-đun
Thư mục chứa tệp __init__.py (thậm chí là tệp trống) sẽ trở thành
gói có thể nhập khẩu:
mio_pkg/
__init__.py
utenti.py
pagamenti.py
from mio_pkg import utenti
from mio_pkg.utenti import crea_utenteĐến lượt bạn
Nhập hàm `sqrt` từ mô-đun `math` (với `from math import sqrt`), sau đó tính căn bậc hai của 144 và gán nó cho `r`. Đánh giá `r`.
Hiển thị gợi ý
từ sqrt nhập toán học
Giải pháp khả dụng sau 3 lần thử
Xem lại bài tập
Nhập mô-đun `random` với bí danh `rnd` (`nhập ngẫu nhiên dưới dạng rnd`), sau đó đặt hạt giống thành 42 với rnd.seed(42) và đánh giá rnd.randint(1, 100).
Hiển thị gợi ý
nhập ngẫu nhiên dưới dạng rnd
Giải pháp khả dụng sau 3 lần thử
Thử thách bổ sung
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.
Hiển thị gợi ý
sin(0) mang lại 0,0, cos(0) mang lại 1,0. Tổng là 1,0. Sử dụng từ toán nhập sin, cos.
Giải pháp khả dụng sau 3 lần thử