Khối mã

Python SELF VI
Mức độ , Bài học
Có sẵn

7.1 Tầm quan trọng của thụt lề

Đôi khi bạn cần phải nhóm một vài lệnh lại với nhau. Một nhóm như thế gọi là khối lệnh hoặc chỉ đơn giản là khối mã. Trong Python, các khối mã được xác định bởi thụt lề, điều này làm cho cấu trúc chương trình gọn gàng và dễ đọc.

Khác với nhiều ngôn ngữ lập trình khác, nơi mà các khối mã được xác định bằng dấu ngoặc hoặc từ khóa, Python dùng thụt lề để phân biệt các chuỗi câu lệnh, được gọi là cấu trúc khối.

Về lý thuyết, thụt lề có thể được thực hiện bằng cách sử dụng dấu cách hoặc tab. Tuy nhiên PEP 8, tài liệu hướng dẫn chính thức về phong cách mã hóa Python, khuyên bạn nên sử dụng 4 dấu cách cho một cấp độ thụt lề. Quan trọng là sử dụng chung một kiểu thụt lề trong toàn bộ mã.

Cấu trúc khối:

Khối mã bắt đầu bằng một lệnh, tiếp theo là dấu hai chấm (ví dụ: if, for, while, def, class) và thụt lề ở dòng tiếp theo. Tất cả các lệnh có cùng cấp độ thụt lề được coi là một phần của cùng một khối.

Thụt lề ảnh hưởng đến cách mà Python diễn giải mã. Sử dụng thụt lề sai có thể dẫn đến IndentationError hoặc làm thay đổi logic của chương trình.

7.2 Số lượng thụt lề bằng nhau

Rất quan trọng để các khối mã có số lượng thụt lề bằng nhau. Do đó rất không khuyến khích trộn lẫn các ký tự tab và dấu cách. Một số trình biên tập hiển thị ký tự tab là 8 dấu cách, số khác thì là 4. Điều này có thể dẫn đến lỗi.

PyCharm giải quyết vấn đề này đơn giản: nó chèn 4 dấu cách mỗi khi bạn nhấn nút TAB trên bàn phím. Không có ký tự tab - không có vấn đề.

Ví dụ:

Sai Đúng

x = 10
if x > 5:
print("x lớn hơn 5")
else:
print("x không lớn hơn 5")

x = 10
if x > 5:
    print("x lớn hơn 5")
else:
    print("x không lớn hơn 5")

Khi có nhiều if lồng nhau, thì rất dễ mắc lỗi:

Sai Đúng

x = 20
y = 30
if x > 10:
    if y > 20:
    print("y lớn hơn 20")
else:
print("x không lớn hơn 10")

x = 20
y = 30
if x > 10:
    if y > 20:
        print("y lớn hơn 20")
else:
    print("x không lớn hơn 10") 

Bạn cần hiểu rõ else thuộc về if nào, nếu không bạn có thể thụt lề sai và dẫn tới một chương trình thực hiện điều hoàn toàn khác với ý bạn.

Đặc biệt, lỗi này thường xảy ra với người mới, khi họ quyết định chuyển một đoạn mã có sẵn vào trong if. Hoặc chuyển một khối mã từ vị trí này sang vị trí khác, nơi có số lượng thụt lề phải khác nhau.

Hãy sử dụng PyCharm: IDE này rất tốt, biết rõ về các vấn đề này và tự động thêm đúng số lượng thụt lề khi bạn chuyển mã.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION