Sử dụng trình thông dịch Python

Chạy trình thông dịch

Trình thông dịch Python thường được cài đặt tại /usr/local/bin/python3.5; Bổ sung đường dẫn /usr/local/bin vào Unix shell’s (Command line của các HĐH Unix) để chạy trình thông dịch từ mọi đường dẫn bằng câu lệnh:

python3.5

Đối với shell. [1] Khi cài đăth Trình thông dịch Python có thể chọn cài ở một đường dẫn khác (VD /usr/local/python cũng là một đường dẫn hay được chọn.)

Trên Windowns, Python thường được cài đặt mặc định tại C:\Python35, Bạn có thể thay đổi đường dẫn này khi cài đặt khi chạy bộ cài. Dể add đường dẫn cho Windown dùng câu lệnh

set path=%path%;C:\python35

Hoặc dễ hơn thì nhớ tick vào ô add-path khi chạy bộ cài đặt nhé.

Để thoát khỏi trình thông dịch khi đang ở trên Command-line nhấn Control-D trên Unix ; Control-Z hoặc Control-C trên Windows. Cũng có thể dùng lệnh : quit() để thoát.

Tính năng soạn thảo nhiều dòng trên trình thông dịch cũng dễ, nhấn Shift-Enter để xuống hàng, Nhấn Control-P để in ra toàn bộ những gì đã command nhé ; Xem phần Interactive Input Editing and History Substitution để hiểu rõ hơn.

Trình thông dịch Python hoạt động tương tự như Unix shell: khi được gọi với một đầu nhập chuẩn đã kết nối với một thiết bị đầu cuối (tty device), nó đọc và thực hiện các lệnh một cách tương tác; khi được gọi với tham số là một tên tập tin hoặc với đầu vào chuẩn là một tập tin, nó đọc và thực hiện Kịch bản chứa trong tập tin đó.

Một cách nữa để chạy trình thông dịch từ CMD là dùng lệnh python -c command [arg] ..., Trong đó:

  • -c là một option để thông báo cho Shell là chạy câu lệnh.
  • command là câu lệnh của bạn, câu lệnh phải nằm trong hai dấu nhé.

VD python -c "print('Chao ban')"

  • arg là biến mà bạn truyền vào. Phần này bạn nào mới bắt đầu thì thấy khó

hiểu, sau này chạy vài chương trình rồi bạn sẽ hiểu rõ.

Tương tự như thực thi file, thực thi module từ CMD bằng lệnh : python -m module [arg] ... .

Khi tập tin kịch bản (script file) được sử dụng, Sẽ rất hữu dụng nếu có thể chạy chương trình và chuyển sang chế độ tương tác ngay sau đó. Điều này thực hiện được bằng cách dùng Option -i

Xem tất cả các Options tại mục Command line and environment.

Truyền tham số

Bộ thông dịch nhận biết tên chương trình và các tham số khác được truyền vào chương trình trong biến sys.arvg dưới dạng một danh sách các chuỗi. Độ dài tối thiểu là một; khi không có kịch bản hoặc thông số truyền vào, sys.argv[0] là một chuỗi rỗng. Khi tên kịch bản được truyền vào là '-' (có nghĩa là đầu vào chuẩn), sys.argv[0] được gán thành '-'. Khi -c command được sử dụng, sys.argv[0] được gán thành ‘-c’. Khi -m module được sử dụng, sys.argv[0] được gán là tên đầy đủ của mô-đun đã nạp. Các tùy chọn sau -c command hoặc -m module không được sử dụng bởi trình thông dịch Python mà truyền vào sys.arvg để cho command hay module xử lý.

Chế độ tương tác

Khi các lệnh được đọc từ một tty, trình thông dịch được xem là đang trong chế độ tương tác. Trong chế độ này nó nhắc lệnh tiếp theo với dấu nhắc chính (primary prompt), thường là ba dấu lớn hơn (>>>); với các dòng tiếp nối (continuation line), nó sẽ nhắc với dấu nhắc thứ (secondary prompt), mặc định là ba dấu chấm (...). Trìn thông dịch sẽ in một thông báo chào mừng, số hiệu phiên bản và thông báo bản quyền trước khi hiện dấu nhắc:

$ python3.5
Python 3.5 (default, Sep 16 2015, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Các dòng nối tiếp được dùng khi nhập vào các cấu trúc nhiều dòng. Hãy xem ví dụ dưới, chú ý câu lệnh if statement:

>>> the_world_is_flat = True
>>> if the_world_is_flat:
...     print("Be careful not to fall off!")
...
Be careful not to fall off!

Xem thêm về Interactive Mode.

Trình thông dịch và môi trường

Mã hóa mã nguồn

Mặc định, Python sử dụng bãng mã UTF-8 , do đó bao gồm cả những ký tự đặc biệt, và hầu hết các ký tự như chữ Ả Rập, China. Riêng việc định danh thì các thư viện chuẩn thì chỉ sử dụng bảng mã ASCII nhé. Để Editor mà bạn dùng hiển thị đúng tất cả các ký tự UTF-8, nó cần (Thường thì có hết rồi) có font thích hợp..

Có thể sử dụng các bảng mã khác trong các tập tin nguồn Python. Cách tốt nhất là thêm dòng chú thích đặc biệt sau #! để định nghĩa bảng mã trong tập tin:

# -*- coding: encoding -*-

Với khai báo này, mọi ký tự trong tập tin nguồn sẽ được xem như từ bảng mã encoding, và vì vậy ta có thể viết các chuỗi Unicode trực tiếp trong bảng mã đó.

VD sử dụng bãng mã Windows-1252, Thêm chú thích sau vào đầu file chương trình:

# -*- coding: cp-1252 -*-

and still use all characters in the Windows-1252 character set in the source files. The special encoding comment must be in the first or second line within the file.

Chú thích:

[1]Trên các HĐH Unix, Thường thì trình thông dịch Python 3.x thường không

được cài sẵn, mà thay vào đó là cài sẵn python 2.x . Do đó khi gõ python từ cmd thì sẽ gọi trình thông dịch python 2.x chứ không phải là 3.x. Cẩn thận nhầm nhé.