Cú pháp và lỗi cú pháp trong Python là gì?

Vật liệu thiết yếu. Phiên bản mới nhất của Python (Python 3), môi trường phát triển tích hợp (IDE) do bạn chọn (hoặc thiết bị đầu cuối), kết nối internet ổn định

Điều kiện tiên quyết/chuyên môn hữu ích. Kiến thức cơ bản về Python và các khái niệm lập trình

Lỗi cú pháp Python cực kỳ phổ biến, đặc biệt là với những người vẫn đang học ngôn ngữ này. Mặc dù chúng có thể gây khó chịu, nhưng chúng tương đối dễ sửa. Khắc phục sự cố lỗi cú pháp sẽ giúp bạn ngăn chúng xảy ra trong tương lai

TermDefinitionTracebackKhi xảy ra lỗi, bạn có thể truy ngược lại nguồn bằng mô-đun Python này. Truy nguyên báo cáo các lệnh gọi hàm được thực hiện tại một điểm nhất định trong mã của bạn. Tracbacks được đọc từ dưới lên trên. Cú pháp Trong lập trình, cú pháp là tập hợp các quy tắc xác định cấu trúc của một ngôn ngữ. Thông dịch viên Thông dịch viên là một chương trình máy tính dịch mã nguồn (ngôn ngữ lập trình cấp cao) thành mã máy mà máy tính có thể thực thi. Từ khóa dành riêng Từ khóa dành riêng là những từ trong ngôn ngữ lập trình có nghĩa được xác định trước. Chúng được sử dụng để phát triển hướng dẫn lập trình. Không thể sử dụng từ khóa dành riêng làm định danh cho các phần tử khác. ParserA trình phân tích cú pháp là một thành phần thông dịch. Nó chia thông tin thành các thành phần nhỏ hơn để trình thông dịch dễ dàng chuyển đổi thành mã máy hơn

Nếu bạn đã từng sử dụng máy tính khoa học hoặc máy tính vẽ đồ thị, thì có khả năng bạn đã tự xác định và khắc phục lỗi cú pháp. Lỗi cú pháp xảy ra khi bạn nhập một ký tự hoặc chuỗi mà trình thông dịch của hệ thống không thể nhận dạng được. Thay vì thực hiện chương trình, trình phân tích cú pháp đưa ra lỗi và trình thông dịch báo lỗi

Ví dụ.

Cú pháp và lỗi cú pháp trong Python là gì?

Nếu thông báo lỗi của bạn chứa cụm từ ',' thì có một số thủ phạm có thể xảy ra. Hãy thử khắc phục sự cố bằng danh sách kiểm tra sau

  • Tôi đã viết sai chính tả một từ khóa?
  • Tôi có thiếu một từ khóa hoàn toàn không? . Ví dụ: bỏ
    1
    2
    positive = 'should' 
    negative = "shouldn't"
    0 trong số
    1
    2
    positive = 'should' 
    negative = "shouldn't"
    1 sẽ nhắc trình thông dịch báo cáo cú pháp không hợp lệ
  • Tôi có sử dụng sai từ khóa Python không? . Một từ khóa cũng không thể được gán cho một biến. Đôi khi, bạn có thể di chuyển từ khóa ra ngoài vòng lặp trong quá trình phát triển. Trong trường hợp này, thông báo lỗi cú pháp của bạn sẽ cụ thể hơn. Nó sẽ đọc.
    1
    2
    positive = 'should' 
    negative = "shouldn't"
    2
  • Các đối số từ khóa của bạn có theo đúng thứ tự không?
  • Các không gian có nhất quán không? . Theo đó, mức độ thụt đầu dòng của mỗi câu lệnh phải nhất quán trong toàn bộ khối để tránh cú pháp không hợp lệ. Hai lớp lỗi cú pháp Python tồn tại xung quanh các vấn đề về thụt đầu dòng.
    1
    2
    positive = 'should' 
    negative = "shouldn't"
    3 và
    1
    2
    positive = 'should' 
    negative = "shouldn't"
    4
  • Bạn đã sử dụng cách viết hoa đúng cho tên biến và tên hàm chưa? . Ngược lại, tên biến trong hàm phải viết thường. Tên hàm tuân theo các quy tắc viết hoa chữ thường giống như tên biến
  • Có bất kỳ dấu chấm câu nào bị thiếu hoặc không khớp không? . Hãy nhớ rằng việc sử dụng (=) để phân tách các giá trị và khóa không hoạt động đối với cú pháp Python. Sử dụng dấu hai chấm để thay thế. Dấu hai chấm cũng rất cần thiết để kết thúc các câu lệnh khối như vòng lặp. Một vài vấn đề về dấu câu khác mà bạn có thể kiểm tra bao gồm
    • Đóng dấu ngoặc vuông và dấu ngoặc đơn
    • Dấu phẩy sau các thành phần từ điển
    • Dấu ngoặc kép bị thiếu hoặc sử dụng sai trong một chuỗi. Cú pháp Python cho phép sử dụng các dấu ngoặc đơn (‘), dấu ngoặc kép (“) và dấu ngoặc kép (“‘) cho các chuỗi ký tự miễn là dấu ngoặc kép được sử dụng để bắt đầu nó cũng kết thúc nó. Ví dụ: khi sử dụng một trích dẫn đơn để bắt đầu một chuỗi ký tự, thì phải sử dụng cùng một trích dẫn đó để kết thúc nó

Hãy tự mình thử

Bạn có thể xác định vấn đề trong mã này không?

1
2
positive = 'should' 
negative = 'shouldn't'

Nếu bạn chạy những dòng mã này, bạn sẽ gặp lỗi cú pháp. Vấn đề nằm ở Dòng 2, trong đó dấu nháy đơn trong từ "không nên" đóng chuỗi, vì vậy trình thông dịch không biết phải làm gì với chữ "t" cuối cùng. Thay vào đó, bạn có thể sửa lỗi bằng cách sử dụng dấu ngoặc kép xung quanh "không nên", như thế này

1
2
positive = 'should' 
negative = "shouldn't"

Bây giờ bạn có thể xác định thành công từng lỗi cú pháp Python phổ biến nhất. Bây giờ bạn đã biết những gì cần tìm, hãy đọc phần tiếp theo để được hướng dẫn về nơi cần tìm

Dấu mũ và dấu ngược có thể cực kỳ hữu ích trong việc xác định vấn đề nằm ở đâu trong mã của bạn. Tuy nhiên, chúng không phải lúc nào cũng chính xác. Dòng hoặc ký tự mà dấu mũ trỏ tới cho biết nơi trình thông dịch nhận thấy vấn đề đầu tiên. Nó không nhất thiết có nghĩa là đó là nơi xảy ra lỗi. Đôi khi, mã có thể chạy bình thường vì nó chưa cần thực hiện lệnh có lỗi. Truy nguyên thậm chí có thể cảnh báo bạn về một lỗi tồn tại trong một tệp hoàn toàn khác

Ví dụ.

Cú pháp và lỗi cú pháp trong Python là gì?

Từng bước một

Dưới đây là một số hành động bạn có thể thực hiện để truy ngược lại lỗi cú pháp về nguồn gốc của nó

  1. Bắt đầu từ truy nguyên và di chuyển ngược qua mã cho đến khi bạn tìm thấy lỗi
  2. Hãy suy nghĩ về mọi phần mã của bạn có thể bị ảnh hưởng. Truy nguyên có thể cảnh báo bạn về một lỗi tồn tại trong một tệp hoàn toàn khác
  3. Nếu bạn đang sao chép một đoạn mã từ một nguồn khác, hãy truy xuất lại các bước của bạn và so sánh từng dòng mã của bạn với mã của nguồn. Hãy nhớ rằng đoạn mã bạn đang sao chép có thể chứa lỗi cú pháp
  4. Đánh giá môi trường lập trình của bạn. Nếu bạn cảm thấy mình đã thử mọi cách mà vẫn không tìm thấy lỗi, có thể bạn và người phiên dịch không nhìn vào cùng một đoạn mã. Một cách để kiểm tra vấn đề này là cố tình đặt một lỗi cú pháp ở đâu đó trong mã của bạn và cố gắng chạy nó. Nếu lỗi mới không bị phát hiện, vấn đề của bạn có thể nằm ở việc thiết lập môi trường của bạn

Lỗi cú pháp Python rất dễ sửa. Thách thức nằm ở việc tìm ra lý do tại sao chúng xảy ra và chúng tồn tại ở đâu trong mã. Trong phần sau, bạn sẽ củng cố hiểu biết của mình về cách thay đổi cú pháp có thể tác động đến hành vi của trình thông dịch hoặc môi trường phát triển tích hợp (IDE. )

Ví dụ

Cú pháp và lỗi cú pháp trong Python là gì?

Trong khối mã ở trên, thông báo lỗi ghi

1
2
positive = 'should' 
negative = "shouldn't"
0. Nếu bạn kiểm tra dòng hai, bạn sẽ tìm thấy dấu ngoặc đơn bổ sung sau
1
2
positive = 'should' 
negative = "shouldn't"
1. Hãy loại bỏ dấu ngoặc thừa đó và thử chạy mã.
Cú pháp và lỗi cú pháp trong Python là gì?

Bây giờ, hãy sử dụng các bài tập dưới đây để tự mình thực hành xác định và sửa các lỗi phổ biến. Nếu bạn muốn luyện tập trong môi trường tương tác, bạn có thể sao chép và dán từng bài tập vào môi trường ưa thích của mình hoặc nhấp vào liên kết này (lưu ý. có thể mất một chút thời gian để tải Jupyter Notebook)

bài tập 1

1
2
student_names = ['Luis', 'Divya', 'Maria', 'Mimi']
student_names.append('Arnold)

Chuỗi

1
2
positive = 'should' 
negative = "shouldn't"
2 bị thiếu dấu ngoặc kép đóng

Bài tập 2

1
2
3
4
nums = [3, 8, -4, 22, 0]

for num in nums
    num = num+1

Vòng lặp for bị thiếu dấu hai chấm

bài tập 3

1
2
3
4
5
fruits = ['apples', 'bananas', 'oranges', 'grapes']
new_fruits = ['pears', 'cherries', 'tangerines']

fro fruit in new_fruits:
  fruits.append(fruit)

Từ khóa dành riêng

1
2
positive = 'should' 
negative = "shouldn't"
3 bị viết sai chính tả thành
1
2
positive = 'should' 
negative = "shouldn't"
4 trên dòng 3

Như đã đề cập ở trên, lỗi cú pháp Python là phổ biến. Không có cách nào đảm bảo để bảo vệ chống lại chúng hoàn toàn. Tuy nhiên, bạn có thể hành động để tránh chúng. Bắt đầu bằng cách ghi nhớ những điều quan trọng sau đây

điểm chính

  • Chuỗi yêu cầu dấu ngoặc kép ở cả hai đầu
  • Tính nhất quán trong khoảng cách và thụt đầu dòng là điều cần thiết đối với cú pháp Python
  • Sử dụng dấu hai chấm khi viết vòng lặp, điều kiện và định nghĩa hàm
  • Các đối số từ khóa phải luôn tuân theo các đối số vị trí
  • Truy nguyên không phải lúc nào cũng chính xác. Bạn có thể cần phải bắt đầu từ quá trình truy nguyên và tìm hiểu mã để tìm lỗi cú pháp của mình
  • Bạn không thể gán từ khóa dành riêng cho một biến. Bạn cũng có thể đánh dấu trang này hoặc một số tài nguyên trong phần tiếp theo để tham khảo

Tài nguyên

Một cách khác để cập nhật các mẹo và bản phát hành Python là tham gia vào cộng đồng Python. Cân nhắc đăng ký nhận bản tin email Python miễn phí hoặc kết nối với các đồng nghiệp bằng cách tham gia kênh Slack lập trình Python. Dưới đây là một số tài nguyên khác đáng để đánh dấu

Tiếp tục xây dựng kiến ​​thức cơ bản về Python bằng cách hoàn thành Dự án có hướng dẫn như Khái niệm trong Python. Vòng lặp, Hàm và Trả về. Để khám phá sâu hơn về ngôn ngữ này, hãy cân nhắc đăng ký một khóa học trực tuyến như Python cho mọi người từ Đại học Michigan trên Coursera

Cú pháp và lỗi cú pháp nghĩa là gì?

Lỗi cú pháp là lỗi trong mã nguồn, chẳng hạn như lỗi chính tả và dấu chấm câu, nhãn không chính xác, v.v., khiến trình biên dịch tạo ra thông báo lỗi. These appear in a separate error window, with the error type and line number indicated so that it can be corrected in the edit window.

Cú pháp trong Python với ví dụ là gì?

Cú pháp của ngôn ngữ lập trình Python là tập hợp các quy tắc xác định cách viết chương trình Python . Cấu trúc dòng Python. Một chương trình Python được chia thành một số dòng logic và mỗi dòng logic được kết thúc bằng mã thông báo NEWLINE. Một dòng logic được tạo từ một hoặc nhiều dòng vật lý.

Lỗi cú pháp với ví dụ là gì?

Trong khoa học máy tính, lỗi cú pháp là lỗi trong cú pháp của một chuỗi ký tự hoặc mã thông báo dự định được viết bằng một ngôn ngữ lập trình cụ thể. Đối với các ngôn ngữ được biên dịch, các lỗi cú pháp được phát hiện tại thời điểm biên dịch. Một chương trình sẽ không biên dịch cho đến khi tất cả các lỗi cú pháp được sửa

3 loại lỗi trong Python là gì?

Trong python có ba loại lỗi; . syntax errors, logic errors and exceptions.