Thụt lề trong Python | Laptrinhcanban.com

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.

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 4 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.

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.