Phát hiện và sửa các lỗi cú pháp Python
Các lập trình viên không tránh khỏi tạo các lỗi đánh máy khi biên tập các chương trình, và trình dịch Python sẽ
luôn gần như phát hiện chúng. Những lỗi như vậy gọi là lỗi cú pháp. Thuật ngữ syntax đề cập tới các quy tắc cho
hình thành các câu trong một ngôn ngữ. Khi Python chạm trán một lỗi cú pháp trong một chương trình, nó dừng thực
thi với một thông điệp lỗi. Phiên sau với Python shell window thể hiện một vài dạng lỗi cú pháp và các thông điệp
lỗi tương ứng:
>>> length = int(input(“Enter the length: “))
Enter the length: 44
>>> print(lenth)
Traceback (most recent call last):
File “<pyshell#l>”, line 1, in <module>
NameError: name ‘lenth’ is not defined
Phát biểu đầu tiên gán một giá trị nhập vào vào biến length. Phát biểu tiếp theo thử in ra giá trị của biến lenth.
Python trả lời rằng tên này không được định nghĩa. Mặc dù lập trình viên có ý định viết biến length. Python có thể
chỉ đọc cái lập trình viên nhập vào. Đây là một ví dụ tốt về quy tắc cái một máy tính có thể chỉ đọc các lệnh nó
nhận, không phải các lệnh chúng ta có ý định cung cấp cho nó.
Phát biểu tiếp theo thử in ra giá trị của biến đánh vần đúng. Tuy nhiên, Python vẫn khởi tạo một thông điệp lỗi.
>>> print(length)
SyntaxError: unexpected indent
Trong thông điệp lỗi này, Python giải thích rằng dòng code này không được thụt dòng như mong đợi. Trên thực tế, có
một khoảng trắng thêm trước từ print. Thụt dòng là đáng kể trong code Python. Mỗi dòng code nhập vào tại một shell
prompt hay trong một script phải bắt đầu trong cột cực trái, không có khoảng trắng. Ngoại lệ duy nhất đối với quy tắc
này xảy ra trong các phát biểu và định nghĩa kiểm soát, nơi các phát biểu nested phải được thụt dòng một hay nhiều hơn
khoảng trắng.
Bạn có thể nghĩ rằng nó sẽ là khó để giữ theo dấu thụt dòng trong một chương trình. Tuy nhiên, ngôn ngữ Python là
đơn giản hơn nhiều so với ngôn ngữ lập trình khác. Kết quả là, có một vài dạng lỗi cú pháp để gặp và sửa, và ít hơn
nhiều cú pháp cho bạn để học!
Trong ví dụ cuối cùng của chúng ta, lập trình viên thử cộng 2 só nhưng quên bao gồm cái thứ hai:
>>> 3 +
SyntaxError: invalid syntax
Trong các học phần tiếp theo, bạn sẽ học nhiều hơn về các loại lỗi chương trình khác và làm cách nào sửa code cái
tạo ra chúng.