Page 48 - Python Simple
P. 48
6. Mô-đun http://www.vithon.org/tutorial/2.5/node8.html
Truyền hai cờ -O vào trình thông dịch Python (-OO) sẽ khiến trình biên
dịch mã byte thực hiện những tối ưu mà trong những trường hợp hiếm hoi
có thể dẫn đến hỏng hóc trong chương trình. Hiện tại chỉ có các chuỗi
__doc__ được bỏ đi khỏi mã byte, làm cho tập tin .pyo gọn hơn. Vì một vài
chương trình phụ thuộc vào các chuỗi này, bạn nên chỉ dùng tùy chọn này
nếu bạn rõ bạn đang làm gì.
Một chương trình không chạy nhanh hơn khi nó được đọc từ một tập tin
.pyc hay .pyo so với khi nó được đọc từ tập tin .py ; một điểm nhanh hơn
duy nhất ở các tập tin .pyc hay .pyo là tốc độ chúng được nạp.
Khi một kịch bản được chạy bằng cách nhập tên nó ở dòng lệnh, thì mã
byte của kịch bản không bao giờ được ghi vào tập tin .pyc hay .pyo . Do
đó, thời gian khởi động của một kịch bản có thể được giảm xuống bằng
cách chuyển hầu hết mã của nó thành mô-đun và tạo một kịch bản nhỏ để
nhập mô-đun đó. Bạn cũng có thể chạy tập tin .pyc hay .pyo trực tiếp từ
dòng lệnh.
Có thể dùng tập tin spam.pyc (hay spam.pyo khi -O được dùng) và không
có tập tin spam.py của cùng một mô-đun. Việc này được tận dụng để phân
phối một thư viện Python dưới một dạng hơi khó để dịch ngược.
Mô-đun compileall có thể tạo các tập tin .pyc (hoặc các tập tin .pyo khi
-O được dùng) cho mọi mô-đun trong một thư mục.
6.2 Các mô-đun chuẩn
Python có một thư viện các mô-đun chuẩn, được nói tới trong một tài liệu khác,
Tham khảo thư viện Python (từ nay gọi là ``Tài liệu tham khảo'''). Một vài
mô-đun được chuyển thẳng vào trình thông dịch; chúng cung cấp các tác vụ
không nằm trong phạm vi chính của ngôn ngữ nhưng cũng được tạo sẵn vì hiệu
quả cao hoặc để truy cập vào những chức năng của hệ điều hành ví dụ như các
lệnh gọi hệ thống. Tập hợp các mô-đun này là một tùy chọn cấu hình lệ thuộc
vào hệ thống. Ví dụ, mô-đun amoeba chỉ có trên các hệ hỗ trợ Amoeba. Cần phải
nhắc đến mô-đun: sys, được đưa vào trong mọi trình thông dịch Python. Các
biến sys.ps1 và sys.ps2 định nghĩa những chuỗi được dùng như dấu nhắc
chính và phụ:
>>> import sys
>>> sys.ps1
'>>> '
>>> sys.ps2
'... '
>>> sys.ps1 = 'C> '
C> print 'Yuck!'
Yuck!
C>
Hai biến này chỉ được định nghĩa khi trình thông dịch chạy ở chế độ tương tác.
4 of 10 08/31/2011 10:26 AM