Python là một ngôn ngữ thủ tục. Một thụt đầu dòng trong Python được sử dụng để phân tách một mã số ít thành các nhóm có thể xác định được các câu lệnh tương tự về chức năng. Lỗi thụt lề có thể xảy ra khi khoảng trắng hoặc tab không được đặt đúng cách. Sẽ không có vấn đề gì nếu trình thông dịch không tìm thấy bất kỳ vấn đề nào với khoảng trắng hoặc tab. Nếu có lỗi do thụt đầu dòng, lỗi này sẽ xuất hiện giữa quá trình thực thi và có thể là điểm chặn hiển thị
Python tuân theo đạo đức khoảng trắng PEP8 trong khi sắp xếp mã của nó và do đó, nên có 4 khoảng trắng giữa mỗi lần lặp và bất kỳ phương án nào không có điều này sẽ trả về lỗi
Dưới đây là một số nguyên nhân phổ biến gây ra lỗi thụt lề trong Python
Trong khi mã hóa, bạn đang sử dụng cả tab cũng như không gian. Mặc dù về lý thuyết, cả hai đều phục vụ cùng một mục đích, nhưng nếu được sử dụng thay thế trong một mã, trình thông dịch sẽ nhầm lẫn giữa việc sử dụng thay đổi nào và do đó trả về lỗi
Trong khi lập trình, bạn đã đặt thụt lề không đúng chỗ. Vì python tuân theo các nguyên tắc nghiêm ngặt khi sắp xếp mã, nên nếu bạn đặt bất kỳ chỗ thụt lề nào sai chỗ, lỗi thụt lề hầu như không thể tránh khỏi
Đôi khi trong khi hoàn thành một chương trình dài, chúng ta có xu hướng bỏ lỡ việc thụt lề các câu lệnh ghép như for, while và if và điều này trong hầu hết các trường hợp sẽ dẫn đến lỗi thụt lề
Cuối cùng nhưng không kém phần quan trọng, nếu bạn quên sử dụng các lớp do người dùng định nghĩa, thì lỗi thụt lề rất có thể sẽ xuất hiện
Lỗi do thụt đầu dòng trong Python
Python xác định thời điểm khối mã bắt đầu và kết thúc bằng cách nhìn vào khoảng trống ở đầu dòng. Bạn có thể gặp phải các lỗi Thụt lề sau. 1. Thụt lề không mong muốn - Dòng mã này có nhiều khoảng trắng ở đầu hơn dòng trước nó, nhưng dòng trước nó không bắt đầu một khối con. Trong một khối, tất cả các dòng mã phải bắt đầu bằng cùng một chuỗi khoảng trắng. 2. Unindent không tương ứng với bất kỳ mức thụt đầu dòng bên ngoài nào - Dòng mã này chứa ít khoảng trắng hơn ở đầu so với dòng trước, nhưng nó cũng không khớp với bất kỳ khối nào khác. 3. Một khối thụt lề đã được mong đợi - Dòng mã này bắt đầu với cùng số khoảng trắng như dòng trước, nhưng dòng trước đó được cho là bắt đầu một khối [e. g. , câu lệnh if/while/for, định nghĩa hàm]
Một số mẹo khắc phục lỗi thụt đầu dòng trong Python
1. Mặc dù không có cách khắc phục nhanh sự cố này, nhưng một điều bạn cần lưu ý khi cố gắng tìm giải pháp cho lỗi thụt đầu dòng là bạn phải xem từng dòng riêng lẻ và tìm ra dòng nào chứa lỗi
Trong Python, tất cả các dòng mã được sắp xếp theo các khối, vì vậy bạn sẽ dễ dàng phát hiện lỗi hơn. Ví dụ bạn đã sử dụng câu lệnh if ở dòng nào thì dòng tiếp theo nhất định phải có thụt đầu dòng
Hãy xem ví dụ dưới đây
Nếu bạn cần hướng dẫn về hình thức thụt đầu dòng chính xác sẽ trông như thế nào, hãy xem ví dụ bên dưới
2. Chuyển đến cài đặt trình chỉnh sửa mã của bạn và bật tùy chọn tìm cách hiển thị các tab và khoảng trắng. Khi tính năng này được bật, bạn sẽ thấy các dấu chấm nhỏ đơn lẻ, trong đó mỗi dấu chấm đại diện cho một tab/khoảng trắng. Nếu bạn nhận thấy một dấu chấm thiếu ở nơi không nên có, thì dòng đó có thể có lỗi thụt lề
Đối với Pycharm, vui lòng truy cập tệp - cài đặt - trình chỉnh sửa - kiểu mã - python
3. Sử dụng Hướng dẫn thụt lề tích hợp trình thông dịch Python. Nó đưa bạn qua từng dòng và cho bạn biết chính xác lỗi của bạn nằm ở đâu, đó là cách chắc chắn nhất để tìm và sửa tất cả các lỗi
Phần kết luận
Bắt lỗi là một phần không thể tránh khỏi của lập trình, gỡ lỗi cũng vậy. Không thể bỏ qua lỗi thụt đầu dòng khi làm việc với python nhưng các mẹo trên cho thấy nó có thể dễ dàng khắc phục. Hy vọng thông tin này làm cho cuộc sống của bạn dễ dàng hơn một chút và hành trình lập trình thú vị hơn
Làm cách nào để thụt lề trong Python?
Định dạng sổ ghi chép nào được sử dụng trong Databricks?
Một thụt lề bất ngờ là gì?
Các lệnh ma thuật trong Databricks là gì?