Hướng dẫn why does python care about indents? - tại sao python quan tâm đến thụt lề?

Th thụt lề là điều cần thiết trong Python; Nó thay thế niềng răng xoăn, bán đại học, vv trong cú pháp giống C.

Ví dụ, xem xét đoạn mã này: Ví dụ:

def f(x):
    if x == 0:
        print("x is zero")
        print("where am i?")

Nếu nó không được thụt vào, chúng tôi sẽ không có cách nào chỉ ra mã nào chặn câu lệnh

Logging on to geeksforgeeks...
All set !
7 thứ hai thuộc về. Có phải theo câu lệnh
Logging on to geeksforgeeks...
All set !
8, hàm
Logging on to geeksforgeeks...
All set !
9 hay tự nó trong tài liệu?

Thắng là một khái niệm rất quan trọng về Python vì không có sự thụt đầu vào mã Python, cuối cùng bạn sẽ thấy thụt lề và mã sẽ không được biên dịch.

Thắng Python

Thắng Python đề cập đến việc thêm không gian trắng trước một câu lệnh vào một khối mã cụ thể. Trong một từ khác, tất cả các câu lệnh có cùng không gian bên phải, thuộc về cùng một khối mã.

Hướng dẫn why does python care about indents? - tại sao python quan tâm đến thụt lề?

Ví dụ về vết lõm trăn

  • Câu lệnh (dòng 1), nếu điều kiện (dòng 2) và câu lệnh (dòng cuối cùng) thuộc cùng một khối có nghĩa là sau câu lệnh 1, nếu điều kiện sẽ được thực thi. và giả sử điều kiện nếu điều kiện trở thành sai thì Python sẽ nhảy sang câu lệnh cuối cùng để thực thi.
  • If-Else lồng nhau thuộc về khối 2, điều đó có nghĩa là nếu được lồng nếu trở thành sai, thì Python sẽ thực thi các câu lệnh bên trong điều kiện khác.
  • Các câu lệnh bên trong Nested If-Else thuộc khối 3 và chỉ có một câu lệnh sẽ được thực thi tùy thuộc vào điều kiện IF-Else.

Thắng Python là một cách để nói với một thông dịch viên Python rằng nhóm các câu lệnh thuộc về một khối mã cụ thể. Một khối là sự kết hợp của tất cả các tuyên bố này. Khối có thể được coi là nhóm các tuyên bố cho một mục đích cụ thể. Hầu hết các ngôn ngữ lập trình như C, C ++ và Java sử dụng niềng răng {} để xác định một khối mã. Python sử dụng thụt lề để làm nổi bật các khối mã. Khoảng trắng được sử dụng để thụt vào python. Tất cả các câu lệnh có cùng khoảng cách bên phải thuộc cùng một khối mã. Nếu một khối phải được lồng sâu hơn, nó chỉ đơn giản là thụt vào bên phải. Bạn có thể hiểu rõ hơn bằng cách xem các dòng mã sau. & NBSP;

ví dụ 1

Các dòng in (đăng nhập vào GeekSforGeeks,) và in (‘getype url.) Là hai khối mã riêng biệt. Hai khối mã trong ví dụ của chúng tôi, theo dõi đều là bốn khoảng trống thụt. Bản in cuối cùng (‘Tất cả các bộ!

Python3

1
2
3
4
5
0
1
2
3
4
5
1
1
2
3
4
5
2

Logging on to geeksforgeeks...
All set !
8
1
2
3
4
5
0
1
2
3
4
5
1
1
2
3
4
5
1
1
2
3
4
5
2
1
2
3
4
5
8

1
2
3
4
5
9
Logging on to geeksforgeeks...
All set !
7

name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')
1

name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')
2

name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')
3

name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')
4
1
2
3
4
5
8

1
2
3
4
5
9
Logging on to geeksforgeeks...
All set !
7

name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')
1

name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')
9

name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')
3

Logging on to geeksforgeeks...
All set !
7

name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')
1

Welcome Rahul..
How are you?
Have a great day!
3

name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')
3

Output:

Logging on to geeksforgeeks...
All set !

Ví dụ 2

Để chỉ ra một khối mã trong Python, bạn phải thụt vào từng dòng của khối bằng cùng một khoảng trắng. Hai dòng mã trong vòng lặp trong khi cả hai đều được thụt vào bốn không gian. Nó được yêu cầu để chỉ ra khối mã nào thuộc về một câu lệnh. Ví dụ: j = 1 và while (j

Python3

Welcome Rahul..
How are you?
Have a great day!
5
1
2
3
4
5
1

Welcome Rahul..
How are you?
Have a great day!
7

Welcome Rahul..
How are you?
Have a great day!
8

Welcome Rahul..
How are you?
Have a great day!
9
1
2
3
4
5
1

i = 1
while(i <= 6):
    print("Value is " + str(i))
    i = i + 1
1

i = 1
while(i <= 6):
    print("Value is " + str(i))
    i = i + 1
2

i = 1
while(i <= 6):
    print("Value is " + str(i))
    i = i + 1
3
Logging on to geeksforgeeks...
All set !
7

i = 1
while(i <= 6):
    print("Value is " + str(i))
    i = i + 1
5

i = 1
while(i <= 6):
    print("Value is " + str(i))
    i = i + 1
3

Welcome Rahul..
How are you?
Have a great day!
5
1
2
3
4
5
1

Welcome Rahul..
How are you?
Have a great day!
5

Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Value is 6
0

Welcome Rahul..
How are you?
Have a great day!
7

Output:

1
2
3
4
5

Lưu ý: Python sử dụng 4 không gian làm thụt theo mặc định. Tuy nhiên, số lượng không gian tùy thuộc vào bạn, nhưng phải sử dụng tối thiểu 1 không gian. Python uses 4 spaces as indentation by default. However, the number of spaces is up to you, but a minimum of 1 space has to be used.


Thắng Python là một thứ là một khái niệm nền tảng cho bất kỳ chương trình và sự hiểu biết mới của Python.

Nó được ưu tiên sử dụng khoảng trắng thay vì các tab để thụt vào trong Python.essential and mandatory concept that should be followed when writing a python code; otherwise, the python interpreter throws IndentationError.

Python sử dụng bốn không gian làm không gian thụt mặc định.

  • Đọc thêm:
  • Nhận xét của Python tuyên bố là gì?
  • Sự khác biệt quan trọng giữa Python 2 và 3

Tại sao Python quan tâm đến thụt lề?

Lý do tại sao thụt lề là quan trọng trong Python là thụt lề phục vụ một mục đích khác ngoài khả năng đọc mã. Python xử lý các câu lệnh có cùng mức thụt (câu lệnh có số lượng khoảng trắng bằng nhau trước chúng) là một khối mã duy nhất.{ }, in python a block is a group of statements that have the same Indentation level i.e same number of leading whitespaces.

Hướng dẫn why does python care about indents? - tại sao python quan tâm đến thụt lề?

Tại sao Python sử dụng vết lõm thay vì niềng răng?
  • Bởi vì mã thụt có vẻ gọn gàng và ngăn nắp. Đó là một trong những mối quan tâm lớn nhất của Pythons rằng mã nên có thể đọc được và được giữ tốt. Thẩm lớp buộc người dùng phải đưa ra không gian và được sử dụng trong việc thay thế dấu ngoặc vì thụt lề làm cho mã duy trì.
  • Bên dưới câu lệnh Dòng 2, là một câu lệnh IF, tuyên bố 3 và 5 được thụt vào một bước; Do đó, chúng thuộc về một khối duy nhất. Và vì dòng 2 là một câu lệnh IF, khối được thụt vào bên dưới cái đầu tiên nếu tạo thành thân thứ hai nếu. Vì vậy, ở đây, phần thân của câu lệnh IF ở dòng 2 bao gồm tất cả các dòng được thụt vào bên dưới nó, tức là, dòng 3,4,5 và 6.if forms the body of second if. So here, the body of the if statement at line 2 includes all the lines that are indented below it, i.e., lines 3,4,5 and 6.
  • Bây giờ chúng ta đã biết rằng tuyên bố ở số dòng 3,4,5 và 6 tạo thành phần thân của câu lệnh IF ở dòng 2. Hãy cho chúng tôi hiểu thụt lề cho chúng. Các câu lệnh ở 3 và 5 được thụt vào đồng đều, vì vậy chúng thuộc về một khối duy nhất (khối2 từ cách giải thích) và chúng sẽ được thực hiện từng cái một.
  • Tuyên bố ở dòng 4 tạo nên phần thân của câu lệnh IF ở dòng 3, vì chúng ta biết bất kỳ câu lệnh nào được thụt vào bên dưới một if tạo ra phần thân của câu lệnh IF, sự tương đồng của câu lệnh ở dòng 6 tạo nên phần thân của câu lệnh khác ở dòng 5 .
  • Đây là cách thụt lề giúp xác định các khối và cũng để xác định các câu lệnh mà khối thuộc về.

Chấp hành

  • Việc thực thi bắt đầu ở dòng 1 theo sau là câu lệnh ở dòng 2; Nếu điều kiện được đánh giá và trong trường hợp nó trả về đúng, thì điều khiển sẽ đi vào bên trong phần thân của câu lệnh IF, mang lại các câu lệnh 3,4, 5 và 6 cho hình ảnh.
    • Bây giờ, câu lệnh ở dòng 3 được thực thi và nếu điều kiện được đánh giá, trong trường hợp nó trả về true, thì dòng 4 được thực thi, sau đó điều khiển sẽ chuyển sang dòng 7. Nếu điều kiện ở dòng 3 trả về sai, thì điều khiển đi đến Một tuyên bố khác là dòng 5, và sau đó dòng 6 được thực thi, theo sau là câu lệnh ở dòng 7.
  • Trong điều kiện trường hợp tại dòng số 2 trả về sai, điều khiển bỏ qua các dòng 3, 4, 5 và 6 và đi đến câu lệnh ở dòng 7.

Ví dụ

Ví dụ 1: Dưới đây là một đoạn mã ví dụ với thụt chính xác trong Python.: Below is an example code snippet with the correct indentation in python.

Code:

name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')

Output:

Welcome Rahul..
How are you?
Have a great day!

Explanation:

  • Biến tên được gán cho Rahul trong câu lệnh đầu tiên
  • Bây giờ câu lệnh IF NAME == ‘Rahul, được đánh giá, nó trả về đúng, do đó, nó thực thi phần thân của IF, đó là hai câu tiếp theo bên dưới câu lệnh IF. Hai tuyên bố bên trong cơ thể được in (‘Chào mừng Rahul .. xông) và In (Bạn có khỏe không?if name == ‘Rahul’: is evaluated, it returns true, so it executes the body of the if, which is the indented next two statements below the if statement. The two statements inside the body are print(‘Welcome Rahul..’) and print(‘How are you?’) and they get executed.
  • Khi câu lệnh được thực thi, phần khác bị bỏ qua và kiểm soát sẽ chuyển sang câu lệnh tiếp theo được in (‘có một ngày tuyệt vời!(‘Have a great day!’), which is executed.
  • Trong chương trình này, các tuyên bố bên trong các cơ thể của IF và khác được thụt vào.

Thắng Python là một thứ là một khái niệm nền tảng cho bất kỳ chương trình và sự hiểu biết mới của Python.: Below is an example code snippet with correct indentation.

Code:

i = 1
while(i <= 6):
    print("Value is " + str(i))
    i = i + 1

Output:

Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Value is 6

Explanation:

  • Biến I được khởi tạo thành 1 trong câu lệnh đầu tiên
  • Bây giờ trong khi (tôiwhile(i <= 6) is executed which is true, so the body of the while is executed. The body of the while is all the statements that are indented below the while loop.
  • Vì vậy, in (giá trị của người Viking là + + str (i)) và i = i + 1 được thực thi.(“Value is” + str(i)) and i = i + 1 are executed.
  • Quá trình này được lặp lại cho đến khi điều kiện trở lại sai.
  • Ở đây, các câu lệnh in (giá trị của người Viking là + + str (i)) và i = i + 1are thụt đồng đều để tạo thành một khối và cả phần thân của câu lệnh trong khi.(“Value is ” + str(i)) and i = i + 1are uniformly indented to form a block and also the body of the while statement.

Thắng Python là một thứ là một khái niệm nền tảng cho bất kỳ chương trình và sự hiểu biết mới của Python.

Nó được ưu tiên sử dụng khoảng trắng thay vì các tab để thụt vào trong Python.

Python sử dụng bốn không gian làm không gian thụt mặc định. Check if a given number is even or odd and if it’s zero print neither even nor odd

Đọc thêm:

  • Nhận xét của Python tuyên bố là gì?
  • Sự khác biệt quan trọng giữa Python 2 và 3
    • Tại sao Python quan tâm đến thụt lề?if-else (inner if-else) block to check the condition number % 2 == 0(This is the even check for a given number)
      • Lý do tại sao thụt lề là quan trọng trong Python là thụt lề phục vụ một mục đích khác ngoài khả năng đọc mã. Python xử lý các câu lệnh có cùng mức thụt (câu lệnh có số lượng khoảng trắng bằng nhau trước chúng) là một khối mã duy nhất.number % 2 == 0 is true, print that the number is even.
      • Tại sao Python sử dụng vết lõm thay vì niềng răng?number % 2 == 0 is false, then the number is odd in the else block print.
  • Bởi vì mã thụt có vẻ gọn gàng và ngăn nắp. Đó là một trong những mối quan tâm lớn nhất của Pythons rằng mã nên có thể đọc được và được giữ tốt. Thẩm lớp buộc người dùng phải đưa ra không gian và được sử dụng trong việc thay thế dấu ngoặc vì thụt lề làm cho mã duy trì.

Code:

number = 50

if(number != 0):
 if(number % 2 == 0):
   print("Given number is Even")
 else:
   print("Given number is Odd")
else:
 print("Given number is neither even nor odd")

Output:

Explanation:

  • Cách thụt mã mã Python của bạn
  • Hãy để chúng tôi đi qua cách thụt mã mã Python bằng cách lấy một ví dụ đơn giản.
  • Ví dụ: Kiểm tra xem một số đã cho là chẵn hoặc lẻ và nếu nó không in không thậm chí cũng không kỳ lạnumber != 0 returns True, control goes inside the if condition, which is the indented block of statements below the if at line 3.
  • Chúng ta hãy thảo luận về cách tiếp cận từng bước:
    • Bước đầu tiên là gán một biến số nguyên với số đầu vào.
    • Viết khối IF-Else để kiểm tra xem số đầu vào là 0,
  • Nếu nó không phải là 0, bên trong khối if, hãy viết một khối if-else (if-else bên trong) khác để kiểm tra số điều kiện % 2 == 0 (đây là kiểm tra chẵn cho một số đã cho)

Mã phải được thụt vào cẩn thận với số lượng khoảng trắng thích hợp và đảm bảo rằng độ đồng nhất của khoảng trắng được duy trì trong một khối. Nếu số lượng dòng trong mã Python là rất lớn, đôi khi điều này có thể trở nên tẻ nhạt nếu vết lõm bị hỏng do tình cờ.

Nếu không sử dụng các biên tập viên tốt/IDE, giúp ích cho thụt lề, viết mã Python, đặc biệt là các dòng mã khổng lồ, đôi khi là một nhiệm vụ tẻ nhạt bởi vì, đối với mỗi dòng, chúng ta cũng nên tạo một loại trong thụt lề. Python will throw an indentation error if you skip the indentation. For Example, the below code would throw IndentationError: expected an indented block error:

Thụt lề sai (lỗi):

if( 1 == 1):
print("This is test code")

Với vết lõm chính xác:

Logging on to geeksforgeeks...
All set !
0

2. Số lượng khoảng trắng trong mã thụt lên phải giống nhau cho cùng một khối mã. Nếu không, Python sẽ ném thụt lề: Thắng bất ngờ. The number of whitespaces in indented code should be the same for the same block of code. Otherwise, Python will throw IndentationError: unexpected indent.

Thụt lề sai (lỗi):

Logging on to geeksforgeeks...
All set !
1

Với vết lõm chính xác:

Logging on to geeksforgeeks...
All set !
2

3. Không được phép thụt vào dòng đầu tiên của mã. Python sẽ ném thụt lề: Thắng bất ngờ. Indentation on the first line of code is not allowed. Python will throw IndentationError: unexpected indent.

Thụt lề sai (lỗi):

Logging on to geeksforgeeks...
All set !
3

Với vết lõm chính xác:

Logging on to geeksforgeeks...
All set !
2

3. Không được phép thụt vào dòng đầu tiên của mã. Python sẽ ném thụt lề: Thắng bất ngờ. Indented statements should have an attaching statement; for instance, all the statements indented below form a block and belong to the if statement. This is applicable for while, for, functions, classes, etc in python. The below example makes this point clear.

Thụt lề sai (lỗi):

Logging on to geeksforgeeks...
All set !
5

Chương trình trên sẽ ném thụt lề của người dùng: Undent không khớp với bất kỳ lỗi thụt lề bên ngoài nào vì câu lệnh in cuối cùng, được thụt vào, không khớp với bất kỳ thụt lề nào khác (không có câu lệnh bên ngoài đính kèm). Trong chương trình, do đó điều này sẽ gây ra lỗi.

Đúng thụt lề:

Logging on to geeksforgeeks...
All set !
6

Ở đây, câu lệnh in bản in cuối cùng phù hợp với vết lõm của câu lệnh in bên dưới nếu khối. Do đó ở đây, câu lệnh đính kèm bên ngoài là câu lệnh if.

Quy tắc thụt python

  • Python sử dụng bốn không gian làm không gian thụt mặc định. Tuy nhiên, số lượng không gian có thể là bất cứ điều gì; Nó là tùy thuộc vào người dùng. Nhưng tối thiểu một không gian là cần thiết để thụt vào một tuyên bố.four spaces as default indentation spaces. However, the number of spaces can be anything; it is up to the user. But a minimum of one space is needed to indent a statement.
  • Dòng đầu tiên của mã Python không thể có vết lõm.
  • Thắng là bắt buộc trong Python để xác định các khối của các câu lệnh.
  • Số lượng không gian phải đồng đều trong một khối mã.
  • Nó được ưu tiên sử dụng khoảng trắng thay vì các tab để thụt vào trong Python. Ngoài ra, hoặc sử dụng khoảng trắng hoặc tab để thụt vào; Việc xen kẽ các tab và khoảng trắng trong thụt lề có thể gây ra lỗi thụt sai.preferred to use whitespaces instead of tabs to indent in python. Also, either use whitespace or tabs to indent; intermixing of tabs and whitespaces in indentation can cause wrong indentation errors.

Lợi ích của thụt lề trong Python

  • Sự thụt mã của mã dẫn đến khả năng đọc tốt hơn, mặc dù lý do chính để thụt vào python là để xác định các cấu trúc khối.
  • Thiếu các lỗi {và} đôi khi bật lên trong các ngôn ngữ C, C ++ có thể tránh được trong Python; Ngoài ra số lượng dòng mã bị giảm.

Nhược điểm của vết lõm trong Python

  • Mã phải được thụt vào cẩn thận với số lượng khoảng trắng thích hợp và đảm bảo rằng độ đồng nhất của khoảng trắng được duy trì trong một khối. Nếu số lượng dòng trong mã Python là rất lớn, đôi khi điều này có thể trở nên tẻ nhạt nếu vết lõm bị hỏng do tình cờ.
  • Nếu không sử dụng các biên tập viên tốt/IDE, giúp ích cho thụt lề, viết mã Python, đặc biệt là các dòng mã khổng lồ, đôi khi là một nhiệm vụ tẻ nhạt bởi vì, đối với mỗi dòng, chúng ta cũng nên tạo một loại trong thụt lề.

Sự kết luận

  • Thắng Python là một thứ là một khái niệm nền tảng cho bất kỳ chương trình và sự hiểu biết mới của Python.
  • Thắng là bắt buộc trong Python để xác định các khối của các câu lệnh.
  • Nó được ưu tiên sử dụng khoảng trắng thay vì các tab để thụt vào trong Python.
  • Python sử dụng bốn không gian làm không gian thụt mặc định.

Đọc thêm:

  1. Nhận xét của Python tuyên bố là gì?
  2. Sự khác biệt quan trọng giữa Python 2 và 3

Tại sao Python quan tâm đến thụt lề?

Lý do tại sao thụt lề là quan trọng trong Python là thụt lề phục vụ một mục đích khác ngoài khả năng đọc mã.Python xử lý các câu lệnh có cùng mức thụt (câu lệnh có số lượng khoảng trắng bằng nhau trước chúng) là một khối mã duy nhất.the indentation serves another purpose other than code readability. Python treats the statements with the same indentation level (statements with an equal number of whitespaces before them) as a single code block.

Tại sao Python sử dụng vết lõm thay vì niềng răng?

Bởi vì mã thụt có vẻ gọn gàng và ngăn nắp.Đó là một trong những mối quan tâm lớn nhất của Pythons rằng mã nên có thể đọc được và được giữ tốt.Thẩm lớp buộc người dùng phải đưa ra không gian và được sử dụng trong việc thay thế dấu ngoặc vì thụt lề làm cho mã duy trì.indentation makes code maintanabe.