Hướng dẫn does spacing matter in python? - khoảng cách có quan trọng trong python không?

Khi tôi viết mã cho một dự án cá nhân hoặc nếu tôi chỉ kiểm tra mọi thứ, tôi có xu hướng mã như thế này, chỉ vì nó làm tôi hạnh phúc:

def importcontacts[request]:
  context                       = initialize_context[request]
  context['form']               = UploadedFileForm[]
  token                         = get_token[request]

  if request.method == 'POST':
    form                        = UploadFileForm[request.POST, request.FILES]

    if form.is_valid[]:
      contacts                  = request.FILES['file']
      fs                        = FileSystemStorage[]
      filename                  = fs.save['import_data.json', contacts]
      uploaded_file_url         = fs.url[filename]
      context['fails']          = ct.import_contacts[uploaded_file_url,
                                                     token,
                                                     context['user']['email'],
                                                     context['user']['name']]
      messages.success[request, 'Contacts imported successfully.']

      return render[request, 'contactsdb/importresult.html', context]

  return render[request, 'contactsdb/import.html', context]

Rõ ràng điều này không tuân thủ PEP8 và tôi sẽ không bao giờ đưa thứ gì đó như thế này vào sản xuất nhưng đồng thời tôi không thực sự biết tại sao và tôi cũng không thực sự hiểu tại sao mã thậm chí vẫn hoạt động khi đặt ra như đây. Tôi cho rằng tất cả không gian làm cho mã chậm hơn?

Googling đã không giúp tôi tìm thấy câu trả lời của mình. Tôi không tìm kiếm ai đó để nói với tôi "Bạn không bao giờ nên làm điều đó, blah blah", tôi nhận thức rõ! Tôi chỉ muốn biết lý do tại sao điều này không ổn.

Chương này là từ cuốn sách 

Mã khối và thụt

Một trong những tính năng đặc biệt nhất của Python là việc sử dụng vết lõm để đánh dấu các khối mã. Hãy xem xét if-statement 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 in ['Ghi nhật ký ...'] và in ['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 dài, 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 vào từng dòng của khối theo cùng một lượng. 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, đây là một lượng thụt điển hình cho Python.

Trong hầu hết các ngôn ngữ lập trình khác, thụt lề chỉ được sử dụng để giúp mã trông đẹp. Nhưng trong Python, nó được yêu cầu để chỉ ra khối mã nào thuộc về câu lệnh. Chẳng hạn, bản in cuối cùng ['Tất cả được thực hiện!'] 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 xuất hiện với ý nghĩ rằng vấn đề thụt vào: nhiều lập trình viên thích tự do định dạng mã của họ như thế nào. Tuy nhiên, các quy tắc thụt python khá đơn giản và hầu hết các lập trình viên đã sử dụng thụt vào để làm cho 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 thụt lề.

If/elif-statements

Một if/elif-statement là một câu chuyện if tổng quát với nhiều đ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ó tỷ lệ vé trẻ con sau đây: trẻ em từ 2 tuổi trở lên miễn phí, trẻ em trên 2 tuổi nhưng dưới 13 tuổi trả giá vé trẻ em và bất cứ ai từ 13 tuổi trở lên trả tiền vé người lớn thông thường . Chương trình sau đây xác định số tiền mà một hành khách phải trả:

# airfare.py
age = int[input['How old are you? ']]
if age 

Bài Viết Liên Quan

Chủ Đề