Tổ chức tệp theo đúng chỗ chương trình chạy
Phần luyện tập yêu cầu gom `hinh_tron.py`, `cong_thuc_ly.py` và `cong_thuc_hoa.py` vào thư mục `myLibs`. Nếu `main.py` ở thư mục cha, cấu trúc là `main.py` cạnh thư mục `myLibs/`, trong đó ba tệp thư viện nằm bên trong. Có thể thêm tệp `myLibs/__init__.py` rỗng để nhận rõ đây là gói. Từ `main.py`, viết `from myLibs import hinh_tron` rồi gọi `hinh_tron.tinh_chu_vi(3)`. Khi di chuyển tệp, đường nhập cũng phải đổi; thiếu hoặc sai tên tệp sẽ báo lỗi nhập, không phải lỗi công thức.
Nhập ba mô-đun bằng tên rõ ràng
```python
from myLibs import hinh_tron, cong_thuc_ly, cong_thuc_hoa
print(round(hinh_tron.tinh_dien_tich(3), 2))
print(cong_thuc_ly.mac_noi_tiep([3, 6, 8]))
print(cong_thuc_hoa.khoi_luong_trung_binh([12, 13], [98.89, 1.11]))
```
Với ba tệp chứa đúng các hàm của bài trước, kết quả là `28.27`, `17` và `12.0111`. Nếu tạo `my_math.py` định nghĩa `PI`, Chữ hoa báo quy ước **không nên thay đổi** giá trị, nhưng Python vẫn cho gán lại biến đó; `PI` tự đặt cũng chỉ là một số gần đúng của π. Khi cần π cho phép tính thông thường, `math.pi` giúp dùng giá trị thư viện chuẩn. Nhập mô-đun bằng tên rõ giúp biết mỗi hàm đến từ tệp nào.
Bài luyện
`main.py` ở cạnh thư mục `myLibs`; muốn dùng `hinh_tron.py` bên trong thì lệnh nào phù hợp?
Đường nhập chỉ rõ gói và mô-đun.
main không là nơi chứa gói.
Khi tệp nằm trong gói, cần đường đến gói.
math không chứa mô-đun tự viết.
Lời giải
Từ thư mục cha, Python thấy gói myLibs; nhập mô-đun bằng from myLibs import hinh_tron.
Bài luyện
Viết `PI = 3.14` trong tệp tự tạo có ý nghĩa gì trong Python?
Chữ hoa là quy ước đặt tên.
Python không bảo vệ biến theo tên chữ hoa.
3.14 chỉ là số gần đúng.
Tệp riêng không thay thư viện chuẩn.
Lời giải
PI viết hoa nhắc người đọc coi là hằng theo quy ước; Python vẫn cho gán lại và 3.14 chỉ xấp xỉ π.
Bài luyện
Nếu di chuyển `hinh_tron.py` vào `myLibs` mà vẫn dùng đường nhập cũ ở `main.py`, lỗi nào có thể xảy ra?
Vị trí tệp là một phần của đường import.
Di chuyển tệp không sửa công thức.
Không liên quan điện trở.
Không liên quan danh sách.
Lời giải
Import tìm mô-đun theo đường đã viết; khi vị trí tệp đổi, phải sửa đường nhập tương ứng.
Đang học