Thụt lề trong Python | Laptrinhcanban.com

HOME › >>

Thụt lề trong Python

Hướng dẫn cách sử dụng Thụt lề trong Python, hay còn gọi là indentation trong python. Bạn sẽ học được cách sử dụng thụt lề trong python để xác định các khối (block) sử dụng trong các câu lệnh if hay for trong python sau bài học này.

Thụt lề trong Python là gì

Thụt lề trong Python, hay còn gọi là indentation trong python là các khoảng trắng đầu câu lệnh dùng để xác định các khối(block) được sử dụng trong các câu lệnh if hay for trong python.

Trong các câu lệnh if hay for, chúng ta có thể đặt một biểu thức điều kiện và thực thi nhiều câu lệnh khi biểu thức điều kiện đó True (đúng). Lúc này, khối (block) chính là nơi để đặt các câu lệnh này.

Thụt lề trong python

Khác với các ngôn ngữ lập trình khác vốn dùng cặp dấu {} để xác định khối, vai trò của thụt lề trong python là vô cùng quan trọng bởi vì chúng ta chỉ có thể dùng thụt lề để xác định các khối (block) trong python mà thôi.

Việc dùng sai thụt lề trong python sẽ khiến các khối không được nhận dạng, khiến cho lỗi unexpected indent trong python xảy ra và làm gián đoạn chương trình.

Tại sao thụt lề quan trọng?

Thụt lề (indentation) trong Python được người lập trình sử dụng để sắp xếp mã nguồn bằng cách sử dụng khoảng trắng hoặc tab để thể hiện mức độ lồng nhau của các khối mã. Trong các ngôn ngữ lập trình khác, thường có việc sử dụng dấu ngoặc nhọn ({}), trong khi Python thay thế bằng việc sử dụng khoảng trắng. Thụt lề rõ ràng là một phần quan trọng của Python và ảnh hưởng trực tiếp đến tính đọc và cấu trúc của mã nguồn.

Thụt lề trong Python không chỉ là vấn đề thẩm mỹ mà còn ảnh hưởng đến việc thực thi mã. Khi bạn không tuân theo quy tắc thụt lề, Python sẽ phát sinh lỗi hoặc thậm chí làm cho mã của bạn hoạt động không đúng cách. Thụt lề giúp bạn phân biệt giữa các khối mã và cho phép bạn biết được mã nào được thực thi trong một phạm vi cụ thể. Điều này làm cho mã Python trở nên rất dễ đọc và dễ hiểu, đặc biệt là khi bạn cần làm việc với mã của người khác hoặc khi bạn quay lại mã của mình sau một thời gian dài.

Quy tắc sử dụng thụt lề trong Python

  • Sử dụng khoảng trắng hoặc tab, nhưng không được kết hợp cả hai cách thụt lề trong cùng một tệp mã. Thụt lề thường được thực hiện bằng cách sử dụng khoảng trắng và được khuyến nghị sử dụng bốn khoảng trắng cho mỗi cấp độ thụt lề.

  • Các khối mã con (nested blocks) phải được thụt lề so với khối mã cha của chúng.

  • Khi bạn sử dụng dấu hai chấm (:) để bắt đầu một khối mã, thụt lề của các dòng mã trong khối đó phải được thực hiện cùng một lượng khoảng trắng hoặc tab.

Dưới đây là một ví dụ cơ bản về việc sử dụng thụt lề trong Python:

def main_function():
print("This is the main function.")
if condition:
print("This is a nested block.")
for i in range(3):
print("This is another nested block.")
print("Back to the main block.")

if __name__ == "__main__":
main_function()

Trong ví dụ này, mỗi cấp độ thụt lề đều được sử dụng để chỉ ra mức độ lồng nhau của các khối mã.

Sử dụng thụt lề để xác định khối trong Python

Trong python, các câu lệnh chứa một hay nhiều câu lệnh con bên trong nó, chẳng hạn như lệnh if hoặc lệnh for, được gọi là câu lệnh ghép. Ngoài ra, các câu lệnh while và try, hay các định nghĩa hàm và định nghĩa lớp cũng là các câu lệnh ghép.

Trong câu lệnh ghép, chúng ta sử dụng khối để xác định cần thực thi các câu lệnh con bắt đầu từ đâu và kết thúc ở chỗ nào. Và chúng ta sử dụng thụt lề để xác định khối này trong Python.

Ví dụ về khối trong câu lệnh if python:

if biểu thức điều kiện:
    Câu lệnh con 1 trong khối
    Câu lệnh con 2 trong khối

Các câu lệnh được thụt lề tại cùng một vị trí thì được coi là cùng một khối. Và nếu lượng thụt lề là khác nhau, chúng được coi là ở các khối riêng biệt.
Do đó, nếu chúng ta ghi câu lệnh trong một khối mà có lượng thụt lề khác với các câu lệnh còn lại trong khối đó, lỗi Unexpected indent sẽ bị xảy ra. Ví dụ

if biểu thức điều kiện: 
Câu lệnh con 1 trong khối
Câu lệnh con 2 trong khối
Câu lệnh con 3 trong khối

Trong trường hợp bạn muốn viết nhiều câu lệnh if hơn trong khối câu lệnh if, hãy viết chúng bằng cách thụt lề sâu hơn như sau:

if biểu thức điều kiện 1:
    Câu lệnh con 1 trong khối if1
    Câu lệnh con 2 trong khối if1
    if biểu thức điều kiện 2:
        Câu lệnh con 1 trong khối if2
        Câu lệnh con 2 trong khối if2
    Câu lệnh con 3 trong khối if1

Ví dụ chúng ta dử dụng thụt lề để xác định khối trong lệnh if sau đây:

num = 10
if num < 100:
print(num)
if (num % 2) == 0:
print("Số chẵn")
hieu = num - 2
print("hiệu số đã cho với 2 bằng", hieu)

Lỗi Unexpected indent trong python

Lỗi Unexpected indent trong python là lỗi do thụt lề sai, được coi như là một dạng lỗi cú pháp trong python.
Ví dụ trong khối sau, câu lệnh print ở dòng 5 có vị trí thụt lề khác với các câu lệnh khác trong cùng khối if, khiến lỗi xảy ra:

num = 10
if num < 100:
print(num)
print(num + 1)
print(num + 2 )

Lõi Unexpected indent trả về:

Khi gặp phải lỗi này, bạn hãy coi lại xem các câu lệnh nằm chung một khối đã được thụt lề tại cùng một vị hay chưa và sửa lại nhé.

Ví dụ, chúng ta sửa lại vị trí thụt lề trong chương trình trên như sau:

num = 10
if num < 100:
print(num)
print(num + 1)
print(num + 2 )

Kết quả, lỗi Unexpected indent đã được sửa và kết quả in ra màn hình như sau:

10
11
12

Thụt lề bao nhiêu là chuẩn trong python

Mặc dù chúng ta dùng tab hoặc phím cách để thụt lề trong python, nhưng không có một quy định nào giới hạn số lượng thụt lề trong python cả. Ví dụ bạn có thể dùng 2 dấu cách, hoặc 4 dấu cách để thụt lề trong python đều được cả. Nói cách khác, không có khái niệm thụt lề bao nhiêu là chuẩn trong python.

Nếu bạn cảm thấy phân vân nên chọn bao nhiêu thụt lề, hãy tham khảo thêm về thụt lề tại website Python Doccuments sau đây:

Tuy nhiên về thông thường, các lập trình viên sẽ dùng 4 lần phím cách để thụt lề trong python, nên chúng ta cũng nên học họ và sử dụng 4 phím cách để thụt lề trong python nhé.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách thụt lề trong Python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo.

URL Link

https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/lenh-dieu-kien-trong-python/thut-le-trong-python/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.