Hướng dẫn python indentation - vết lõm của trăn

Contents

Nội dung chính

  • Indentation và Code block
  • Thế code block là gì ?
  • Thụt lề trong Python là gì
  • Sử dụng thụt lề để xác định khối trong Python
  • Lỗi Unexpected indent trong python
  • Thụt lề bao nhiêu là chuẩn trong python
  • Tổng kết

  • Statement
  • Indentation và Code block
    • Thế code block là gì ?

Thụt lề trong Python là gì

Indentation và Code block

Thế code block là gì ?

Thụt lề trong Python là gì

Sử dụng thụt lề để xác định khối trong Pythonbegin’ của 1 code block hay ‘end’ của 1 code block, càng không sử dụng kí tự bracket ‘{‘ ‘}’ để đánh dấu bắt đầu kết thúc của 1 một code block như một vài ngôn ngữ lập trình khác như C, PHP,..

Lỗi Unexpected indent trong python

1)
	{
		echo "Dung";
	}
?>

Thụt lề bao nhiêu là chuẩn trong python
Vậy python sẽ thể hiện 1 code block như thế nào ? Python sử dụng kí tự ‘:’ và ‘khoảng trắng vào dòng (indentation)’. Một code block sẽ bắt đầu bằng một khoảng trắng thụt đầu dòng ‘indentation’ và kết thúc bằng 1 dòng không indentation hoặc indentation bằng với code block sub nếu có nhiều code block con như kiểu if lồng if.

Hướng dẫn python indentation - vết lõm của trăn

Tổng kết:

n = 2
if n > 1:
	print(“Lon hon”)
else:
	print(“Nho hon”)
	print(“Het code nhe”)

Statement:

for i in range(1,11):
    print(i)
    if i == 5:
        break

Trong ngôn ngữ lập trình bậc cao, đây là một sự diễn đạt có thể tạo ra các chỉ lệnh theo ngôn ngữ máy, khi chương trình được thông dịch hoặc biên dịch. Tóm gọi lại có thể hiểu nôm na là ‘một câu lệnh’.if” và “else” là cùng 1 code block.

Code block có thể hiểu là các hàm, các if statement, for loops, while loops,….

Các code block của Python không có kí tự thể hiện ‘begin’ của 1 code block hay ‘end’ của 1 code block, càng không sử dụng kí tự bracket ‘{‘ ‘}’ để đánh dấu bắt đầu kết thúc của 1 một code block như một vài ngôn ngữ lập trình khác như C, PHP,..:

var2 = “demo”
def test(var1):
    print(var1)
print(var2)

Ví dụ code block PHP:print(“var2”)’ đã nằm ngoài code block ‘def test’ do cùng độ dài indentation với code block ‘def test’.

  Vậy python sẽ thể hiện 1 code block như thế nào ? Python sử dụng kí tự ‘:’ và ‘khoảng trắng vào dòng (indentation)’. Một code block sẽ bắt đầu bằng một khoảng trắng thụt đầu dòng ‘indentation’ và kết thúc bằng 1 dòng không indentation hoặc indentation bằng với code block sub nếu có nhiều code block con như kiểu if lồng if.

from math import sqrt
n = input("Maximum Number? ")
n = int(n)+1

for a in range(1,n):
    for b in range(a,n):
        c_square = a**2 + b**2
        c = int(sqrt(c_square))
        if ((c_square - c**2) == 0):
            print(a, b, c)
    for c in range(a,n):
    
print(c)
print(“Finish”)

Ví dụ 1:for c in range(a,n): ‘ , nằm ngoài code block của ‘ for b..’ nhưng vẫn nằm trong code block ‘for a …’ do cùng độ dài indentation ‘for b’ và nằm sau độ dài indentation với ‘for a …’  . Còn ‘print(“Finish”)’ thì nằm ngoài code block ‘for’.

Ví dụ 2:

Tất cả các statement nếu có cùng một độ dài khoảng trắng từ bên trái về bên phải, thì được xem là cùng 1 block code. Như bạn thấy ở ví dụ 1 thì “if” và “else” là cùng 1 code block.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ì

Sử dụng thụt lề để xác định khối 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.

Lỗi Unexpected indent trong pythonkhối (block) chính là nơi để đặt các câu lệnh này.

Thụt lề bao nhiêu là chuẩn trong pythonkhố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.

Tổng kếtunexpected 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

Lỗi Unexpected indent trong pythoncâ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.

Thụt lề bao nhiêu là chuẩn trong pythonkhố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.

Tổng kết

Statement
    Câu lệnh con 1 trong khối
    Câu lệnh con 2 trong khối

Trong ngôn ngữ lập trình bậc cao, đây là một sự diễn đạt có thể tạo ra các chỉ lệnh theo ngôn ngữ máy, khi chương trình được thông dịch hoặc biên dịch. Tóm gọi lại có thể hiểu nôm na là ‘một câu lệnh’.
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

Code block có thể hiểu là các hàm, các if statement, for loops, while loops,….

Các code block của Python không có kí tự thể hiện ‘begin’ của 1 code block hay ‘end’ của 1 code block, càng không sử dụng kí tự bracket ‘{‘ ‘}’ để đánh dấu bắt đầu kết thúc của 1 một code block như một vài ngôn ngữ lập trình khác như C, PHP,..
    Câu lệnh con 1 trong khối if1
    Câu lệnh con 2 trong khối if1
    if

n = 2
if n > 1:
	print(“Lon hon”)
else:
	print(“Nho hon”)
	print(“Het code nhe”)
3:
        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: 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:

  • Style Guide for Python Code

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

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại Creativecommons và DMCA