Hướng dẫn python indent function - hàm thụt lề python

Contents

Nội dung chính ShowShow

  • 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

<?php
	if (4>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.

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 <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a>&nbsp;và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js">Bài viết liên quanIf trong python với một hoặc nhiều điều kiệnToán tử 3 ngôi trong python và cách rút gọn lệnh điều kiệnToán tử logic trong python và giá trị True FalseToán tử so sánh trong python và các phép so sánh chuỗi, số và listBiến trong python là gìGán biến trong pythonCách khai báo, khởi tạo và gán biến trong pythonNhập biến trong pythonHã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>> python cơ bản - lập trình python cho người mới bắt đầu>>07. lệnh điều kiện trong pythonBài sauIf trong python với một hoặc nhiều điều kiệnBài tiếpToán tử so sánh trong python và các phép so sánh chuỗi, số và listBài viết mới nhấtLàm tròn số trong JavaScript (Math.round, Math.ceil, Math.floor) tháng 7 1, 2022Số mũ trong JavaScript (Math.pow, Math.exp) tháng 7 1, 2022Math.max và Math.min trong JavaScript tháng 7 1, 2022Math.random trong JavaScript tháng 7 1, 2022throw trong JavaScript và cách trả về ngoại lệ tuỳ ý tháng 7 1, 2022Các ngoại lệ trong JavaScript và cách xử lý tương ứng tháng 7 1, 2022try...catch trong JavaScript và cách xử lý ngoại lệ tháng 7 1, 2022Xử lý ngoại lệ của hàm xử lý mô tả trong khối try tháng 7 1, 2022ProfileTá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.