Thụt đầu dòng là một khái niệm rất quan trọng của Python vì nếu không thụt lề mã Python đúng cách, cuối cùng bạn sẽ thấy IndentationError và mã sẽ không được biên dịch Show Thụt lề PythonThụt đầu dòng Python đề cập đến việc thêm khoảng trắng trước một câu lệnh cho một khối mã cụ thể. Nói cách khác, tất cả các câu lệnh có cùng khoảng trắng ở bên phải, thuộc về cùng một khối mã Ví dụ về thụt lề Python
Thụt đầu dòng trong Python là một cách để nói với trình thông dịch Python rằng nhóm các câu lệnh thuộc về một khối mã cụ thể. Một khối là sự kết hợp của tất cả các câu lệnh này. Khối có thể được coi là nhóm các câu lệnh cho một mục đích cụ thể. Hầu hết các ngôn ngữ lập trình như C, C++ và Java đều sử dụng dấu ngoặc nhọn { } để xác định một khối mã. Python sử dụng thụt đầu dòng để làm nổi bật các khối mã. Khoảng trắng được sử dụng để thụt đầu dòng trong Python. Tất cả các câu lệnh có cùng khoảng cách về bên phải đều thuộc về cùng một khối mã. Nếu một khối phải được lồng sâu hơn, thì nó chỉ cần được thụt vào xa hơn về bên phải. Bạn có thể hiểu rõ hơn bằng cách xem các dòng mã sau. ví dụ 1Các dòng print('Đăng nhập vào geeksforgeeks…') và print('retype the URL. ’) là hai khối mã riêng biệt. Hai khối mã trong câu lệnh if ví dụ của chúng tôi đều được thụt vào bốn khoảng trắng. Bản in cuối cùng ('Tất cả đã đặt. ') không thụt vào, vì vậy nó không thuộc khối khác. Python3
1 2 3 4 52 1 2 3 4 53 1 2 3 4 54_______0_______5 1 2 3 4 56 1 2 3 4 57 1 2 3 4 58 1 2 3 4 52 1 2 3 4 53 1 2 3 4 54_______0_______5 # Python program showing 3_______0_______71 2 3 4 54_______0_______5_______51_______7 1 2 3 4 57 đầu ra Logging on to geeksforgeeks... All set ! ví dụ 2Để chỉ ra một khối mã trong Python, bạn phải thụt lề từng dòng của khối bằng cùng một khoảng trắng. Hai dòng mã trong vòng lặp while đều được thụt vào bốn khoảng trắng. Nó được yêu cầu để chỉ ra khối mã mà một câu lệnh thuộc về. Ví dụ: j=1 và while(j<=5). không được thụt lề và do đó, nó không nằm trong khối Python. Vì vậy, cấu trúc mã Python bằng cách thụt đầu dòng. Python3
1 2 3 4 54 site 0
đầu ra 1 2 3 4 5 Ghi chú. Python sử dụng 4 dấu cách làm thụt đầu dòng theo mặc định. Tuy nhiên, số lượng dấu cách là tùy thuộc vào bạn, nhưng phải sử dụng tối thiểu 1 dấu cách Sửa lỗi thụt lề Python trong Visual Studio Code. Xem tiện ích mở rộng trên VSCode Marketplace và mã nguồn của nó trên GitHub Chủ đề được sử dụng trong gif. Chủ đề cộng đồng Palenight từ Chủ đề tài liệu cộng đồng v1. 4. 4 Làm thế nào nó hoạt độngMỗi khi bạn nhấn phím 2 trong ngữ cảnh Python, tiện ích mở rộng này sẽ phân tích cú pháp tệp Python của bạn đến vị trí con trỏ của bạn và xác định chính xác số lượng dòng tiếp theo (hoặc hai trong trường hợp thụt lề treo) và cách thức Có ba trường hợp chính khi xác định vết lõm chính xác, được mô tả bên dưới Giữa các cặp dấu ngoặcTrong trường hợp khi bạn đặt con trỏ giữa một dấu ngoặc mở (một trong số 3) và cặp dấu ngoặc đóng của nó (một trong số tương ứng của 4), tiện ích mở rộng này sẽ giữ cho các dòng tiếp theo được thụt vào ngay bên phải nơi nó được mở
Ngay cả các dấu ngoặc lồng nhau cũng được xử lý
Trong ví dụ đầy đủ bên dưới, Mã VS mặc định yêu cầu thêm chín lần nhấn phím (ba tab, hai dấu cách và bốn dấu cách) để phù hợp với thụt lề tự động của tiện ích mở rộng này
thụt lề treoKhi bạn đã mở một dấu ngoặc, nhưng chưa chèn bất kỳ nội dung nào, nhấn 2 sẽ tạo ra một khoảng thụt lề treo, phù hợp với hành vi cơ bản của Mã VS
Bạn có thể sử dụng cài đặt 6 để khi nhập xong, bạn chỉ cần nhấn 7 để được đưa đến dấu ngoặc đóngNếu có nội dung ở bên phải con trỏ của bạn khi bạn nhấn 2, thì tiện ích mở rộng này sẽ chỉ thụt lề theo kích thước tab đã đặt của bạn
Nếu bạn không bao giờ muốn dấu ngoặc đóng kết thúc trên dòng riêng của nó (i. e. bạn luôn muốn thụt lề theo kích thước tab đã đặt), hãy sử dụng cài đặt cấu hình 9. Cảnh báo. Điều này có thể gây ra sự thụt đầu dòng khó hiểu với các định nghĩa hàm vì danh sách đối số và mã hàm có thể kết thúc ở cùng một mức độ thụt đầu dòngNó không thường được sử dụng, nhưng dấu gạch chéo ngược để tiếp tục một dòng cũng sẽ khiến dòng tiếp theo bị thụt vào
từ khóaMột số từ khóa trong Python ngụ ý một số hành vi thụt đầu dòng. Ví dụ: nếu có một câu lệnh 0, thì chúng ta biết dòng tiếp theo có thể không được thụt lề (hoặc được thụt lề) vì không có câu lệnh nào có thể theo sau một 0 trong cùng một khối mã. Các từ khóa khác theo mô hình tương tự là 2, 3, 4 và 5Tương tự, nếu có một 6 trên dòng hiện tại, thì dòng hiện tại cần được thụt vào và dòng tiếp theo cần được thụt vào so với vị trí mới của 6. Các từ khóa khác theo mô hình tương tự là 8, 9 và 0. Một số ví dụ được hiển thị dưới đây
Nhưng nếu bạn đã thay đổi thụt đầu dòng theo cách thủ công, tiện ích mở rộng sẽ không thay đổi nó cho bạn
Nếu (và chỉ khi) bạn nhấn 2 trong khi con trỏ của bạn đang ở giữa một nhận xét, thì dòng tiếp theo sẽ tự động được tạo thành một nhận xét 0Cắt các dòng khoảng trắngBạn có thể cắt khoảng trắng khỏi các dòng chỉ chứa khoảng trắng bằng cách sử dụng cài đặt cấu hình 2 (mặc định là không cắt khoảng trắng theo cách này). Cài đặt này đưa hành vi đến gần hơn với hành vi VSCode gốc 1Tại sao nó cần thiết?Có nhiều vấn đề liên quan trên GitHub ([1], [2], [3], [4], [5]) yêu cầu cải tiến Python indentation trong VS Code. Có vẻ như những người duy trì tiện ích mở rộng Python tại microsoft không ưu tiên thụt đầu dòng, vì đã không có tiến triển nào trong nhiều năm kể từ lần đầu tiên nó được yêu cầu Phím tắt để sửa lỗi thụt đầu dòng trong Python là gì?Làm cách nào để khắc phục lỗi thụt lề trong Python? . Kiểm tra các khoảng trắng hoặc tab sai. . Đảm bảo rằng phần thụt đầu dòng cho một khối cụ thể vẫn giữ nguyên trong toàn bộ mã, ngay cả khi một khối mới được đưa vào ở giữa. . 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 Cách ưa thích để thụt lề trong Python là gì?Bạn nên sử dụng khoảng trắng thay vì tab để thụt lề trong python. Ngoài ra, hãy sử dụng khoảng trắng hoặc tab để thụt lề; . |