Cách thụt đầu dòng thực hành tốt nhất trong Python là gì?

Thụt đầu dòng đề cập đến khoảng trắng ở đầu dòng mã. Trong các ngôn ngữ lập trình khác, phần thụt đầu dòng trong mã chỉ để dễ đọc, thì phần thụt đầu dòng trong Python rất quan trọng. Python sử dụng thụt đầu dòng để chỉ ra một khối mã. Nếu không thụt lề mã Python đúng cách, cuối cùng bạn sẽ thấy…

Thông thường, bạn không nên trộn lẫn các tab và dấu cách khi viết mã bằng Python. Việc làm này có thể gây ra sự cố TabError và chương trình của bạn sẽ bị lỗi. Hãy nhất quán khi bạn viết mã - chọn thụt lề bằng tab hoặc dấu cách và tuân theo quy ước bạn đã chọn trong suốt chương trình của mình

Khối mã và thụt đầu dòng

Một trong những tính năng đặc biệt nhất của Python là việc sử dụng thụt đầu dòng để đánh dấu các khối mã. Xem xét câu lệnh if từ chương trình kiểm tra mật khẩu đơn giản của chúng tôi

if pwd == 'apple':
    print('Logging on ...')
else:
    print('Incorrect password.')

print('All done!')

Các dòng print(‘Đăng nhập …’) và print(‘Mật khẩu không chính xác. ’) là hai khối mã riêng biệt. Những cái này chỉ dài một dòng, nhưng Python cho phép bạn viết các khối mã bao gồm bất kỳ số lượng câu lệnh nào

Để chỉ ra một khối mã trong Python, bạn phải thụt lề mỗi dòng của khối theo cùng một lượng. Hai khối mã trong câu lệnh if ví dụ của chúng tôi đều được thụt vào bốn khoảng trắng, đây là số lượng thụt lề điển hình cho Python

Trong hầu hết các ngôn ngữ lập trình khác, thụt đầu dòng chỉ được sử dụng để giúp mã trông đẹp hơn. Nhưng trong Python, cần phải chỉ ra khối mã mà một câu lệnh thuộc về. Chẳng hạn, bản in cuối cùng ('Tất cả đã xong. ') không được thụt vào và do đó không phải là một phần của khối khác

Các lập trình viên quen thuộc với các ngôn ngữ khác thường nổi giận với suy nghĩ rằng thụt đầu dòng quan trọng. Nhiều lập trình viên thích tự do định dạng mã của họ theo cách họ muốn. Tuy nhiên, các quy tắc thụt đầu dòng trong Python khá đơn giản và hầu hết các lập trình viên đã sử dụng cách thụt đầu dòng để mã của họ có thể đọc được. Python chỉ đơn giản là đưa ý tưởng này tiến thêm một bước và mang lại ý nghĩa cho sự thụt đầu dòng

Câu lệnh if/elif

Câu lệnh if/elif là câu lệnh if tổng quát có nhiều hơn một điều kiện. Nó được sử dụng để đưa ra quyết định phức tạp. Ví dụ: giả sử một hãng hàng không có các mức giá vé "trẻ em" như sau. Trẻ em từ 2 tuổi trở xuống bay miễn phí, trẻ em trên 2 tuổi nhưng dưới 13 tuổi trả giá vé trẻ em được giảm giá và bất kỳ ai từ 13 tuổi trở lên trả giá vé người lớn thông thường. Chương trình sau xác định số tiền hành khách phải trả

# airfare.py
age = int(input('How old are you? '))
if age <= 2:
    print(' free')
elif 2 < age < 13:
    print(' child fare)
else:
    print('adult fare')

Sau khi Python nhận được tuổi từ người dùng, nó sẽ nhập câu lệnh if/elif và kiểm tra lần lượt từng điều kiện theo thứ tự chúng được đưa ra. Vì vậy, trước tiên, nó kiểm tra xem tuổi có nhỏ hơn 2 hay không và nếu có, nó cho biết rằng việc bay là tự do và nhảy ra khỏi điều kiện elif. Nếu tuổi không nhỏ hơn 2, thì nó sẽ kiểm tra điều kiện elif tiếp theo để xem tuổi có nằm trong khoảng từ 2 đến 13 không. Nếu vậy, nó sẽ in thông báo thích hợp và nhảy ra khỏi câu lệnh if/elif. Nếu cả điều kiện if và điều kiện elif đều không đúng, thì nó sẽ thực thi mã trong khối khác

biểu thức điều kiện

Python có thêm một toán tử logic mà một số lập trình viên thích (và một số thì không). ). Về cơ bản, đây là một ký hiệu viết tắt cho các câu lệnh if có thể được sử dụng trực tiếp trong các biểu thức. Hãy xem xét mã này

food = input("What's your favorite food? ")
reply = 'yuck' if food == 'lamb' else 'yum'

Biểu thức ở vế phải của = trong dòng thứ hai được gọi là biểu thức điều kiện và nó có giá trị là 'yuck' hoặc 'yum'. Nó tương đương như sau

food = input("What's your favorite food? ")
if food == 'lamb':
   reply = 'yuck'
else:
   reply = 'yum'

Các biểu thức điều kiện thường ngắn hơn các câu lệnh if/else tương ứng, mặc dù không hoàn toàn linh hoạt hoặc dễ đọc. Nói chung, bạn nên sử dụng chúng khi chúng làm cho mã của bạn đơn giản hơn

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Nếu bài viết này hữu ích, hãy tweet nó

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

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")

Cách thụt đầu dòng thực hành tốt nhất trong Python là gì?
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 IndentationError
  • 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")

Cách thụt đầu dòng thực hành tốt nhất trong Python là gì?
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


________số 8_______

Cách thụt đầu dòng thực hành tốt nhất trong Python là gì?
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ã

Thụt đầu dòng thích hợp trong mã hóa là gì?

Bạn nên sử dụng tab hay dấu cách để thụt lề? . Thụt lề một lần bằng phím tab có nghĩa là chỉ cần nhấn phím tab một lần. Thụt lề một lần với phím cách có nghĩa là nhấn phím cách 4 lần. it is fine to either indent using the tab key or with the space bar. Indenting once with the tab key means just pressing the tab key once. Indenting once with the space bar means pressing the space bar 4 times.

Các phương pháp hay nhất để đặt tên trong Python là gì?

Kiểu đặt tên . Tách các từ bằng dấu gạch dưới để cải thiện khả năng đọc. Bắt đầu mỗi từ bằng một chữ in hoa. Use a lowercase single letter, word, or words. Separate words with underscores to improve readability. Start each word with a capital letter.

Có cần duy trì thụt đầu dòng trong Python không?

Python không quan tâm, miễn là bạn nhất quán. Vì vậy, nếu bạn bắt đầu sử dụng bốn khoảng trắng để thụt lề, bạn luôn cần sử dụng bốn khoảng trắng. Ví dụ, trong đoạn mã này, chúng ta có thể thấy rằng thụt lề đầu tiên có bốn khoảng trắng, nhưng thụt lề thứ hai chỉ có hai. Và bạn có thể thấy rằng mã không thẳng hàng

Tại sao thụt đầu dòng lại quan trọng hơn trong Python?

Trong Python, chúng tôi sử dụng khoảng trắng/tab làm thụt đầu dòng để chỉ ra điều tương tự cho trình biên dịch. Nói một cách đơn giản, tất cả các câu lệnh có cùng khoảng cách (dấu cách) về bên phải, thuộc về cùng một khối. Nói cách khác, các câu lệnh thuộc một khối nhất thiết phải bắt đầu từ cùng một đường thẳng đứng