Giống như bất kỳ ngôn ngữ lập trình nào, Python có bộ quy tắc riêng. Nếu các quy tắc này không được tuân theo, mã sẽ không thể hiểu được đối với trình thông dịch, dẫn đến các lỗi cú pháp. Những lỗi này là những vấn đề phổ biến mà cả người mới làm việc và các lập trình viên có kinh nghiệm gặp phải. Bài viết thảo luận về các lỗi thường xuyên nhất trong Python và cung cấp các phương thức để sửa chúng trong quá trình lập trình.
Khi xảy ra lỗi cú pháp, Python cung cấp thông báo lỗi trỏ đến vấn đề. Thông báo này thường bao gồm:
Một trong những sai lầm Python phổ biến nhất mà người mới bắt đầu thực hiện là quên đi dấu ngoặc đơn. Điều này đặc biệt phổ biến trong các cuộc gọi chức năng và cấu trúc lồng nhau.
Ví dụ:
print("Hello, World!"
Thông báo lỗi Python:
Sửa chữa:
Đảm bảo tất cả các dấu ngoặc đơn được đóng chính xác.
print("Hello, World!")
Python dựa vào thụt vào để xác định các khối mã. Thắng không chính xác có thể dẫn đến lỗi cú pháp.
Ví dụ:
def greet():
print("Hello, World!")
Thông báo lỗi Python:
Sửa chữa:
Thụt vào khối mã đúng cách.
def greet():
print("Hello, World!")
Quên bao gồm dấu phẩy giữa các yếu tố trong danh sách hoặc từ điển là một sai lầm thường xuyên khác.
Ví dụ:
fruits = {"type": "sweert" "name": "orange"}
Thông báo lỗi Python:
Sửa chữa:
Thêm dấu phẩy còn thiếu giữa "Sweert" và "Tên".
fruits = {"type": "sweert", "name": "orange"}
Sử dụng các từ khóa dành riêng Python không đúng cách cũng có thể dẫn đến các lỗi cú pháp. Từ khóa là những từ dành riêng có ý nghĩa đặc biệt.
Ví dụ:
class = "Beginner"
Thông báo lỗi Python:
Sửa chữa:
Chọn một tên khác không phải là từ khóa dành riêng.
level = "Beginner"
Tên biến phải tuân thủ các quy tắc cụ thể. Sử dụng tên biến bất hợp pháp, chẳng hạn như bắt đầu với một số hoặc chứa không gian, dẫn đến lỗi cú pháp.
Ví dụ:
2name = "John"
Thông báo lỗi Python:
Sửa chữa:
Sử dụng một tên biến hợp lệ.
name2 = "John"
Chuỗi phải được đặt trong các dấu ngoặc kép phù hợp. Quên đóng một chuỗi kết quả trong lỗi cú pháp.
Ví dụ:
message = "Hello, World!
Thông báo lỗi Python:
Sửa chữa:
Đảm bảo chuỗi được đóng với cùng một loại dấu ngoặc kép.
message = "Hello, World!"
Quên thêm một dấu hai chấm (:) ở cuối các câu lệnh ghép như, nếu, trong khi và DEF có thể dẫn đến lỗi cú pháp.
Ví dụ:
def greet()
print("Hello, World!")
Thông báo lỗi Python:
Sửa chữa:
Thêm một dấu hai chấm ở cuối của tuyên bố ghép.
def greet():
print("Hello, World!")
Sử dụng các toán tử không chính xác có thể gây ra lỗi cú pháp. Điều này bao gồm các nhà khai thác chuyển nhượng và toán tử so sánh.
Ví dụ:
if x = 10:
print("x is 10")
Thông báo lỗi Python:
Sửa chữa:
Sử dụng toán tử so sánh chính xác.
if x == 10:
print("x is 10")
Hãy cùng xem xét một tập lệnh quét web đơn giản gặp phải lỗi cú pháp và cách gỡ lỗi bằng trình gỡ lỗi tích hợp Python, PDB.
Mã gốc:
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
titles = soup.find_all("h1")
for title in titles
print(title.text)
Thông báo lỗi Python:
Sửa chữa:
Thêm đại tràng bị thiếu sau vòng lặp.
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
titles = soup.find_all("h1")
for title in titles:
print(title.text)
Thêm dòng sau trước vòng lặp để bắt đầu trình gỡ lỗi.
import pdb; pdb.set_trace()
Mã được sửa đổi với điểm dừng:
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
titles = soup.find_all("h1")
import pdb; pdb.set_trace()
for title in titles:
print(title.text)
Khi bạn chạy tập lệnh, trình gỡ lỗi PDB sẽ bắt đầu tại điểm dừng.
> /path/to/your/script.py(10)()
-> for title in titles:
(Pdb)
Lệnh gỡ lỗi:
Phiên ví dụ:
(Pdb) n
> /path/to/your/script.py(11)()
-> print(title.text)
(Pdb) p titles
[<h1>Example Domain</h1>]
(Pdb) c
Example Domain
Bằng cách sử dụng PDB, bạn có thể bước qua mã của mình, kiểm tra các biến và hiểu luồng thực thi, giúp xác định và sửa lỗi dễ dàng hơn.
Lỗi giải thích kết quả khi bộ xử lý không thể hiểu được mã của bạn một cách toàn diện nhưng lỗi thời gian chạy diễn ra khi mã của bạn đang chạy. Không phân chia, chạm vào mảng phạm vi trong danh sách cũng như các biến không xác định tài khoản cho các lỗi đó.
Ví dụ:
numbers = [1, 2, 3]
print(numbers[3])
Thông báo lỗi Python:
Sửa chữa:
Đảm bảo bạn đang truy cập các chỉ số danh sách hợp lệ.
print(numbers[2])
Xử lý ngoại lệ cho phép chương trình của bạn tiếp tục chạy ngay cả khi xảy ra lỗi. Sử dụng các khối Excet Try-Except để bắt và xử lý các ngoại lệ.
Ví dụ:
try:
result = 10 / 0
except ZeroDivisionError:
print("You can't divide by zero!")
Có được chuyên môn về các lỗi phổ biến và sửa lỗi trong cú pháp Python là rất cần thiết cho bất kỳ nhà phát triển Python nào. Đọc các thông báo lỗi Python và tiến hành các hiệu chỉnh tiếp theo đảm bảo rằng người ta viết mã tốt hơn một cách dễ dàng.stick cho các công cụ và hướng dẫn được đề xuất.
Мы получили вашу заявку!
Ответ будет отправлен на почту в ближайшее время.
С уважением proxy-seller.com!
Bình luận: 0