Chuyển đến nội dung chính
Mô-đun 7 · Bài học 4 trong tổng số 428/36 trong khóa học~10 min
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

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

Nơ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:

  1. thư mục của tập lệnh đang chạy,
  2. các thư mục trong PYTHONPATH,
  3. các thư viện đã cài đặt (site-packages).
Python
import sys
sys.path     # lista di directory

Tạo một mô-đun

Tạo mio_modulo.py:

Python
# mio_modulo.py
PI = 3.14159

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

Từ một tệp khác trong cùng thư mục:

Python
import mio_modulo
mio_modulo.area_cerchio(5)   # 78.53975

from mio_modulo import area_cerchio, PI

if __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.

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()

Đâ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:

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

Đến lượt bạn

tập thể dục#python.m7.l4.e1
Nỗ lực: 0Đang tải…

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`.

Đang tải trình chỉnh sửa…
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

tập thể dục#python.m7.l4.e2
Nỗ lực: 0Đang tải…

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).

Đang tải trình chỉnh sửa…
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

tập thể dục#python.m7.l4.e3
Nỗ lực: 0Đang tải…

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.

Đang tải trình chỉnh sửa…
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ử