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

2.1. Khởi chạy trình thông dịch

Trình thông dịch Python thường được cài đặt tại đường dẫn /usr/local/bin/python3.14 trên những máy tính có sẵn nó; việc thêm /usr/local/bin vào đường dẫn tìm kiếm của shell Unix giúp bạn có thể khởi chạy nó bằng cách nhập lệnh:

python3.14

vào shell. [1] Vì việc lựa chọn thư mục chứa trình thông dịch là một tùy chọn khi cài đặt, nên nó có thể nằm ở những nơi khác; hãy kiểm tra với chuyên gia Python tại chỗ hoặc quản trị viên hệ thống của bạn. (Ví dụ: /usr/local/python là một vị trí thay thế phổ biến.)

Trên các máy chạy Windows mà bạn đã cài đặt Python từ Microsoft Store, lệnh python3.14 sẽ có sẵn. Nếu bạn đã cài đặt trình khởi chạy py.exe launcher, bạn có thể sử dụng lệnh py. Xem Python install manager để biết các cách khác nhằm khởi chạy Python.

Nhập ký tự kết thúc tệp (Control-D trên Unix, Control-Z trên Windows) tại dấu nhắc lệnh chính sẽ khiến trình thông dịch thoát với mã trạng thái thoát bằng 0. Nếu cách đó không hiệu quả, bạn có thể thoát khỏi trình thông dịch bằng cách nhập lệnh sau: quit().

Các tính năng chỉnh sửa dòng lệnh của trình thông dịch bao gồm chỉnh sửa tương tác, thay thế lịch sử và hoàn thành mã trên hầu hết các hệ thống. Có lẽ cách nhanh nhất để kiểm tra xem tính năng chỉnh sửa dòng lệnh có được hỗ trợ hay không là nhập một từ tại dấu nhắc Python, sau đó nhấn phím mũi tên Trái (hoặc Control-b). Nếu con trỏ di chuyển, bạn có tính năng chỉnh sửa dòng lệnh; xem Phụ lục Interactive Input Editing and History Substitution để biết phần giới thiệu về các phím. Nếu không có gì xảy ra, hoặc nếu một chuỗi như ^[[D hoặc ^B xuất hiện, thì tính năng chỉnh sửa dòng lệnh không khả dụng; bạn sẽ chỉ có thể sử dụng phím backspace để xóa các ký tự khỏi dòng hiện tại.

Trình thông dịch hoạt động phần nào giống như shell Unix: khi được gọi với đầu vào tiêu chuẩn kết nối tới một thiết bị tty, nó đọc và thực thi các lệnh một cách tương tác; khi được gọi với một đối số là tên tệp hoặc với một tệp dưới dạng đầu vào tiêu chuẩn, nó đọc và thực thi một script từ tệp đó.

Một cách thứ hai để khởi chạy trình thông dịch là python -c command [arg] ..., lệnh này thực thi (các) câu lệnh trong command, tương tự như tùy chọn -c của shell. Vì các câu lệnh Python thường chứa khoảng trắng hoặc các ký tự đặc biệt khác đối với shell, bạn thường được khuyên nên đặt toàn bộ command trong dấu ngoặc kép.

Một số module Python cũng hữu ích khi dùng như các script. Chúng có thể được gọi bằng lệnh python -m module [arg] ..., lệnh này sẽ thực thi tệp nguồn của module tương tự như khi bạn viết đầy đủ đường dẫn của nó trên dòng lệnh.

Khi một file script được sử dụng, đôi khi việc có thể chạy script đó rồi sau đó mới vào chế độ tương tác là rất hữu ích. Điều này có thể được thực hiện bằng cách truyền tham số -i trước tên script.

Tất cả các tùy chọn dòng lệnh được mô tả trong Command line and environment.

2.1.1. Truyền đối số

Khi được trình thông dịch nhận diện, tên script và các đối số bổ sung sau đó sẽ được chuyển thành một danh sách các chuỗi ký tự và gán cho biến argv trong module sys. Bạn có thể truy cập danh sách này bằng cách thực thi lệnh import sys. Độ dài của danh sách này tối thiểu là một; khi không có script và không có đối số nào được cung cấp, sys.argv[0] là một chuỗi trống. Khi tên script được đưa vào là '-' (nghĩa là đầu vào tiêu chuẩn), sys.argv[0] được thiết lập là '-' . Khi tùy chọn -c command được sử dụng, sys.argv[0] được thiết lập là '-c'. Khi tùy chọn -m module được sử dụng, sys.argv[0] được thiết lập là tên đầy đủ của module đã được định vị. Các tùy chọn nằm sau -c command hoặc -m module không bị trình xử lý tùy chọn của trình thông dịch Python lược bỏ mà được giữ lại trong sys.argv để lệnh hoặc module đó tự xử lý.

2.1.2. Chế độ tương tác

Khi các lệnh được đọc từ tty, trình thông dịch được gọi là đang ở chế độ tương tác. Trong chế độ này, nó sẽ nhắc lệnh tiếp theo bằng dấu nhắc chính, thường là ba dấu lớn hơn (>>>); đối với các dòng tiếp sau, nó sẽ nhắc bằng dấu nhắc phụ, mặc định là ba dấu chấm (...). Trình thông dịch sẽ in một thông điệp chào mừng cho biết số phiên bản và thông báo bản quyền trước khi in dấu nhắc đầu tiên:

$ python3.14
Python 3.14 (default, April 4 2024, 09:25:04)
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Các dòng tiếp nối là cần thiết khi nhập một cấu trúc nhiều dòng. Ví dụ, hãy xem câu lệnh if này:

>>> the_world_is_flat = True
>>> if the_world_is_flat:
...     print("Hãy cẩn thận kẻo ngã!")
...\
Hãy cẩn thận kẻo ngã!

Để biết thêm về chế độ tương tác, hãy xem Chế độ tương tác.

2.2. Trình thông dịch và môi trường của nó

2.2.1. Mã hóa mã nguồn

Theo mặc định, các tệp nguồn Python được xử lý dưới dạng mã hóa UTF-8. Trong kiểu mã hóa đó, các ký tự của hầu hết các ngôn ngữ trên thế giới có thể được sử dụng đồng thời trong các chuỗi ký tự, định danh và chú thích --- mặc dù thư viện tiêu chuẩn chỉ sử dụng các ký tự ASCII cho các định danh, một quy ước mà bất kỳ mã nguồn có tính di động nào cũng nên tuân theo. Để hiển thị tất cả các ký tự này một cách chính xác, trình soạn thảo của bạn phải nhận dạng được tệp đó là UTF-8 và phải sử dụng phông chữ hỗ trợ tất cả các ký tự trong tệp.

Để khai báo một kiểu mã hóa khác với mặc định, một dòng chú thích đặc biệt nên được thêm vào làm dòng đầu tiên của tệp. Cú pháp như sau:

# -*- coding: encoding -*-

trong đó encoding là một trong những codecs hợp lệ được Python hỗ trợ.

Ví dụ, để khai báo rằng mã hóa Windows-1252 sẽ được sử dụng, dòng đầu tiên trong tệp mã nguồn của bạn phải là:

# -*- coding: cp1252 -*-

Một ngoại lệ đối với quy tắc dòng đầu tiên là khi mã nguồn bắt đầu bằng một dòng "shebang" UNIX. Trong trường hợp này, khai báo mã hóa nên được thêm vào dòng thứ hai của tệp. Ví dụ:

#!/usr/bin/env python3
# -*- coding: cp1252 -*-

Chú thích