Khắc phục: Python lỗi thụt lề

Python là một ngôn ngữ lập trình mới nổi được phát hành lần đầu tiên vào năm 1991. Ngôn ngữ này được biết đến với thư viện toàn diện lớn và hỗ trợ một số mô hình lập trình như hàm, mệnh lệnh, thủ tục và hướng đối tượng.

Lỗi thụt lề trong Python khi viết mã

' Lỗi thụt lề: Dự kiến ​​một khối được thụt lề ' xảy ra cho tất cả các loại người dùng; cho dù họ là người mới hay đã có kinh nghiệm. Vì Python sắp xếp tất cả mã của nó theo các khoảng trắng chính xác, nếu bạn có thụt lề sai, mã sẽ không được biên dịch và bạn sẽ nhận được thông báo lỗi.

Theo các quy ước được tuân theo trong PEP8, cần có bốn khoảng trắng nếu cần. Điều lý tưởng cho mọi lập trình viên là sử dụng thụt lề thích hợp để cải thiện khả năng đọc mã.

Nguyên nhân gây ra lỗi thụt lề trong Python?

Giống như đã đề cập trước đây, lỗi này chủ yếu xảy ra do có lỗi dấu cách hoặc tab trong mã của bạn. Vì Python sử dụng ngôn ngữ thủ tục, bạn có thể gặp lỗi này nếu bạn chưa đặt các tab / khoảng trắng một cách chính xác. Chương trình có thể chạy đúng cách nhưng nếu trình thông dịch tìm thấy lỗi này, thông báo lỗi sẽ xuất hiện ở giữa. Một số nguyên nhân gây ra lỗi là:

  • Bạn đang sử dụng cả dấu cách và tab trong mã của mình. Nếu cả hai được sử dụng thay thế cho nhau, thông dịch viên sẽ không thể xác định mục nào sẽ sử dụng.
  • Bạn đã đặt sai một số thụt lề . Nếu thực hành thụt lề không được tuân thủ, bạn sẽ không tránh khỏi lỗi này.
  • Bạn quên thụt lề trong các câu lệnh ghép như 'if', 'for', 'while', v.v.
  • Bạn quên thụt lề các hàm hoặc lớp do người dùng xác định .

Giải pháp 1: Kiểm tra khoảng trắng / tab sai

Không có bản sửa lỗi tức thì cho vấn đề này. Vì mã là của bạn, bạn phải xem từng dòng và xem bạn đã mắc lỗi ở đâu. Có một số khối trong mã liên quan đến cấu trúc. Nếu có câu lệnh 'If', cần phải có một thụt lề cho mã theo sau nó.

Cấu trúc khối hiển thị thụt lề trong Python

Kiểm tra sơ đồ trên. Hãy thấy rằng phần thụt lề cho một khối cụ thể vẫn giữ nguyên trong suốt mã ngay cả khi một khối mới được đưa vào giữa. Đảm bảo rằng thụt lề của bạn nhất quán. Nếu bạn đang sử dụng dấu cách, hãy luôn sử dụng dấu cách và nếu bạn đang sử dụng tab, hãy luôn sử dụng tab. Sự pha trộn của cả hai sẽ gây ra vấn đề.

Ví dụ về thụt lề trong Python

Thụt lề chính xác được hiển thị trong ví dụ trên. Xem vòng lặp 'for' để bắt đầu. Mọi thứ bên trong vòng lặp 'for' phải được thụt vào. Bên trong vòng lặp 'for', chúng ta có câu lệnh 'if'. Bên trong câu lệnh 'if', mọi thứ phải được thụt lề sâu hơn .

Bạn có thể dễ dàng kiểm tra vị trí xảy ra lỗi thụt lề bằng cách kiểm tra nhật ký lỗi và xem dòng từ nơi lỗi bắt nguồn.

Giải pháp 2: Bật ký hiệu tab / dấu cách trong trình chỉnh sửa

Nếu bạn gặp khó khăn trong việc thụt lề mã của mình bằng cách 'đoán' như tất cả các lập trình viên vẫn làm, bạn có thể bật các ký hiệu tab / khoảng trắng trong IDE hoặc trình soạn thảo mã của mình. Tùy chọn này sẽ kích hoạt các 'chấm' nhỏ trong mã của bạn, nơi mỗi dấu chấm đại diện cho một khoảng trắng hoặc tab. Bạn có thể sử dụng điều này để thụt lề mã đúng cách hơn và đảm bảo rằng không có thụt lề thừa hoặc một số bị thiếu.

Trong ví dụ này, chúng tôi sẽ sử dụng Notepad ++ và xem cách bạn có thể bật các ký hiệu. Nếu bạn đang sử dụng một phần mềm khác để chỉnh sửa mã, bạn có thể bật cài đặt dành riêng cho nó.

  1. Nhấn Xem> Hiển thị Biểu tượng> Hiển thị Khoảng trắng và TABBật khoảng trắng và tab trong Python
  1. Bây giờ tùy chọn được kích hoạt. Bạn cũng có thể bật Hướng dẫn thụt lề để mọi thứ trở nên dễ dàng hơn với bạn.
Mã mẫu với thụt lề chính xác trong Python

Kiểm tra ví dụ trên. Xem phần thụt lề được triển khai sau mỗi lớp. Mỗi khoảng trống được thể hiện bằng một dấu chấm. Sau khi thực hiện các thay đổi đối với phần thụt lề sai trên mã của bạn, hãy chạy lại và xem điều này có giải quyết được sự cố hay không.