Khối và thụt đầu dòng trong Python là gì?

Thụt lề trong Python được sử dụng để tạo một nhóm các câu lệnh. Nhiều ngôn ngữ phổ biến như C và Java sử dụng dấu ngoặc nhọn [{ }] để xác định một khối mã và Python sử dụng dấu thụt đầu dòng

Thụt đầu dòng trong Python là gì?

Thụt lề trong Python đề cập đến khoảng trắng ở đầu dòng. Chúng ta có thể tạo thụt đầu dòng bằng dấu cách hoặc tab. Khi viết mã Python, chúng ta phải định nghĩa một nhóm câu lệnh cho hàm và vòng lặp. Điều này được thực hiện bằng cách thụt lề đúng cách các câu lệnh cho khối đó

Khoảng trắng hàng đầu [dấu cách và tab] ở đầu dòng được sử dụng để xác định mức độ thụt lề của dòng. Chúng ta phải tăng mức thụt lề để nhóm các câu lệnh cho khối mã đó. Tương tự, giảm thụt đầu dòng để đóng nhóm

Bốn khoảng trắng hoặc một ký tự tab đơn được sử dụng để tạo hoặc tăng mức độ thụt lề của mã. Hãy xem một ví dụ để hiểu cách thụt lề mã và nhóm các câu lệnh

def foo[]:
    print["Hi"]

    if True:
        print["true"]
    else:
        print["false"]

print["Done"]

Thụt lề Python

Quy tắc thụt lề Python

  • Chúng tôi không thể tách thụt đầu dòng thành nhiều dòng bằng dấu gạch chéo ngược
  • Dòng đầu tiên của mã Python không được thụt đầu dòng, nó sẽ ném ra
    def print_numbers[x, y]:
        for i in range[x, y]:
            print[i]
    
    3
  • Bạn nên tránh trộn lẫn các tab và khoảng trắng để tạo thụt đầu dòng. Đó là bởi vì các trình soạn thảo văn bản trong các hệ thống Non-Unix hoạt động khác đi và việc trộn chúng có thể gây ra lỗi thụt đầu dòng
  • Nên sử dụng khoảng trắng để thụt lề hơn là ký tự tab
  • Cách tốt nhất là sử dụng 4 khoảng trắng cho lần thụt đầu dòng đầu tiên và sau đó tiếp tục thêm 4 khoảng trắng bổ sung để tăng mức thụt đầu dòng

Lợi ích của thụt đầu dòng trong Python

  • Trong hầu hết các ngôn ngữ lập trình, thụt đầu dòng được sử dụng để cấu trúc đúng mã. Trong Python dùng để gom nhóm, giúp code tự động đẹp
  • Quy tắc thụt lề Python rất đơn giản. Hầu hết các IDE Python tự động thụt lề mã cho bạn, vì vậy rất dễ dàng để viết mã được thụt lề đúng cách

Nhược điểm của việc thụt đầu dòng trong Python

  • Vì các khoảng trắng được sử dụng để thụt đầu dòng, nếu mã lớn và thụt đầu dòng bị hỏng thì việc sửa nó thực sự rất tẻ nhạt. Nó xảy ra chủ yếu bằng cách sao chép mã từ các nguồn trực tuyến, tài liệu Word hoặc tệp PDF
  • Hầu hết các ngôn ngữ lập trình phổ biến đều sử dụng dấu ngoặc nhọn để thụt đầu dòng, vì vậy bất kỳ ai đến từ một thế giới lập trình khác ban đầu đều thấy khó thích nghi với ý tưởng sử dụng khoảng trắng để thụt đầu dòng

Thụt lề trong Python cho vòng lặp

Chúng ta phải tăng thụt đầu dòng trong vòng lặp for để mã sẽ được nhóm lại với nhau. Hãy xem một ví dụ về thụt đầu dòng trong python for loop

def print_numbers[x, y]:
    for i in range[x, y]:
        print[i]

Ví dụ về lỗi thụt lề

Hãy xem xét một số ví dụ về IndentationError trong mã Python

>>>     x = 10
  File "", line 1
    x = 10
    ^
IndentationError: unexpected indent
>>> 

Chúng tôi không thể có một vết lõm trong dòng đầu tiên của mã. Đó là lý do tại sao IndentationError bị ném

if True:
    print["true"]
     print["Hi"]
else:
    print["false"]

Lỗi thụt lề Python

Các dòng mã bên trong khối if có mức độ thụt đầu dòng khác nhau, do đó IndentationError

if True:
    print["true"]
else:
    print["false"]

 print["Done"]

Lỗi cấp độ thụt lề Python Unindent

Ở đây, câu lệnh in cuối cùng có một số thụt đầu dòng nhưng không có câu lệnh nào để đính kèm nó, do đó lỗi thụt lề được đưa ra

if True:
print["true"]
else:
print["false"]

đầu ra

File "/Users/pankaj/Documents/PycharmProjects/PythonTutorialPro/hello-world/indent.py", line 2
    print["true"]
        ^
IndentationError: expected an indented block

Bản tóm tắt

Thụt lề Python làm cho mã của chúng tôi đẹp. Nó cũng phục vụ mục đích nhóm các câu lệnh thành một khối mã. Điều này dẫn đến thói quen viết mã đẹp mọi lúc vì đó không phải là tính năng Tốt-Có mà là yêu cầu Bắt buộc phải có của mã

Nói chung, thụt lề có nghĩa là thụt lề các từ hoặc khoảng trắng hoặc dòng trong tài liệu để tuân theo quy tắc tạo kiểu cho tài liệu hoặc có thể được sử dụng để giải thích khoảng cách nên được sử dụng hoặc khoảng trắng nên được sử dụng khi viết tài liệu hoặc mã. Trong Python, thụt đầu dòng là một trong những tính năng đặc biệt nhất và nó có thể được định nghĩa vì nó đề cập đến cùng một ý nghĩa với nghĩa chung, có nghĩa là trình biên dịch trong Python không thể thực thi nếu không có thụt đầu dòng;

Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]

Giá
Xem khóa học

600+ Khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 6 [83.214 xếp hạng]

Vai trò của thụt đầu dòng trong Python với các ví dụ

Việc xác định một khối mã trong Python được thực hiện bằng Indentation. Bằng nhiều ngôn ngữ lập trình khác nhau như C, C++, Java, v.v. sử dụng dấu ngoặc hoa hoặc dấu ngoặc nhọn {} để xác định hoặc xác định một khối mã trong chương trình, trong khi ở Python, nó được thực hiện bằng cách sử dụng khoảng trắng hoặc tab, được gọi là thụt lề và còn được gọi là quy tắc 4 dấu cách trong Pep8 . Chúng ta hãy xem xét một ví dụ về điều này

Bắt đầu khóa học phát triển phần mềm miễn phí của bạn

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

Ví dụ 1

Mã số

n = 10
if n>5:
    print "n is greater than 5"
else:
    print "n is not greater than 5"

đầu ra

Trong khối mã trên, thụt đầu dòng được sử dụng sau câu lệnh “if” và “else” để trình thông dịch Python có thể thực thi câu lệnh in và đưa ra kết quả phù hợp; . Câu lệnh in [“ n lớn hơn 5” ] và câu lệnh in [“ n không lớn hơn 5” ] là hai đồng hồ mã khác nhau. Để chỉ ra các khối mã này, Python sử dụng thụt đầu dòng ở đầu mỗi dòng của khối với cùng một số khoảng trắng là 4 khoảng trắng

Ví dụ #2

Mã số

________số 8

đầu ra

Nói chung, khối được định nghĩa là một tập hợp các câu lệnh trong chương trình hoặc mã hoặc tập lệnh. Khối mã có thể chỉ chứa một câu lệnh hoặc nhiều câu lệnh khai báo tùy thuộc vào logic của chương trình hoặc tập lệnh. Bất kỳ ngôn ngữ lập trình nào có quá trình nhóm các tập hợp câu lệnh này với khối được gọi là ngôn ngữ có cấu trúc khối. Chúng ta cũng có thể nhận thấy rằng một khối có thể có một khối khác trong đó, chẳng hạn như cấu trúc khối lồng nhau. Khối được trình thông dịch coi là một câu lệnh duy nhất trong khi thực thi chương trình hoặc tập lệnh, giúp giảm phạm vi từ vựng của các biến và hàm. Trong Python, điều này giúp thụt lề code, giúp người khác dễ dàng hiểu và đọc code của nhà phát triển

Vì vậy, công việc rất đơn giản; . Vì vậy, đối với cấu trúc khối lồng nhau, việc thụt đầu dòng sẽ được thực hiện trong đó khối sẽ được thụt vào đơn giản hơn về phía bên phải. Thông thường, khối kết thúc ở dòng ít thụt vào hoặc nếu nó ở cuối tệp. Cấu trúc khối lồng nhau với thụt đầu dòng thích hợp trông giống như bên dưới

BLOCK 1
	BLOCK 2
		BLOCK 3
	BLOCK 2 [continuation]
BLOCK 1 [continuation]

Trong nhiều ngôn ngữ lập trình khác nhau, thụt đầu dòng chỉ được sử dụng để mã được viết trông đẹp và gọn gàng hơn, nhưng trong Python, thụt đầu dòng được sử dụng chủ yếu để biết câu lệnh nào thuộc khối nào và theo đó, trình thông dịch sẽ thực thi mã Python. Do đó, không giống như các ngôn ngữ lập trình khác, Python đưa ra ý nghĩa cho quy tắc thụt đầu dòng, quy tắc này rất đơn giản và cũng giúp mã có thể đọc được. Trong Python IDLE, nó tự động thụt lề mã; . Ví dụ

Ví dụ #3

Mã số

def print_numbers[x, y]:
    for i in range[x, y]:
        print[i]
0

Đối với đoạn mã trên, khi bạn viết câu lệnh “if” và hoàn thành nó bằng cách kết thúc nó bằng ký hiệu dấu hai chấm [. ], khi trình thông dịch đọc dấu hai chấm này, nó sẽ tự động nhảy sang dòng tiếp theo với 4 dấu cách khi bạn nhấn enter sau dấu hai chấm [. ] thì nó tự động đưa câu lệnh in xuống dòng tiếp theo có 4 dấu cách ở đầu câu lệnh in. Do đó, mã sẽ được thụt lề bởi Python IDLE. Đôi khi sau khi thụt lề, nếu chúng ta bỏ lỡ một số khoảng trống hoặc thêm một số khoảng trắng thừa, nó sẽ báo lỗi hoặc chương trình sẽ thực thi theo hành vi không mong muốn; . Vì vậy, chúng tôi nói cấu trúc Python bằng dấu hai chấm và thụt đầu dòng

Có thể bỏ qua thụt đầu dòng trong khi tiếp tục dòng của câu lệnh hoặc dòng. Nhưng không nên bỏ qua mã nào trông không gọn gàng và dễ đọc đối với người khác. Chúng ta hãy xem ví dụ về điều này

Ví dụ #4

def print_numbers[x, y]:
    for i in range[x, y]:
        print[i]
1

Trong Python, đoạn mã trên cũng có thể được viết là

def print_numbers[x, y]:
    for i in range[x, y]:
        print[i]
2

Đầu ra sẽ giống nhau cho cả hai mã và chúng có nghĩa giống nhau. Nhưng mã được viết đầu tiên dễ đọc và dễ hiểu hơn mã thứ hai

đầu ra

Sự kết luận

Bài viết này kết luận rằng thụt đầu dòng trong Python rất quan trọng hơn bất kỳ ngôn ngữ lập trình nào khác. Vì thụt lề trong các ngôn ngữ lập trình khác chỉ được sử dụng để làm cho mã hoặc tập lệnh trông gọn gàng và đẹp hơn, nhưng trong Python, thụt đầu dòng phải thực thi bất kỳ khối mã nào vì trình thông dịch nhận thấy 4 khoảng trắng này được sử dụng để thụt lề mã và trong một đoạn mã khác . Nếu các khối mã hoặc bất kỳ chương trình nào không được thụt lề đúng cách, thì mã sẽ đưa ra lỗi, chẳng hạn như lỗi Thụt lề trong Python

Bài viết được đề xuất

Đây là hướng dẫn về Thụt đầu dòng trong Python. Ở đây chúng ta thảo luận về Giới thiệu và vai trò của thụt đầu dòng trong Python cùng với các ví dụ khác nhau và cách triển khai mã của nó. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

Chủ Đề