Tại sao Python sử dụng khoảng trắng?

Luôn luôn phải sử dụng khoảng trắng vì chỉ riêng các tab không đủ linh hoạt cho nhiều kiểu và việc trộn lẫn các tab và khoảng trắng [gần như] luôn tạo ra một mớ hỗn độn tuyệt đối

Để biết ví dụ về một phong cách thường cần khoảng trắng, hãy xem xét một cái gì đó như

call_some_function[parameter1,
                   parameter2,
                   parameter3,
                   parameter4,
                   parameter5,
                   parameter6,
                   parameter7];

Trừ khi bạn sẵn sàng đặt tên lại tất cả các chức năng của mình thành bội số chính xác của kích thước tab [trừ một cho dấu ngoặc đơn], đơn giản là các tab sẽ không làm điều này

Đối với việc trộn các tab và dấu cách, bạn gần như ngay lập tức gặp sự cố nghiêm trọng. các tab không được mở rộng một cách nhất quán theo cùng một cách. Một số phần mềm coi một tab tương đương với một số khoảng trắng cụ thể. Phần mềm khác sẽ mở rộng một tab modulo một số không gian cụ thể -- e. g. , một mục sau tab sẽ luôn bắt đầu ở số cột là bội số của [giả sử] 8

Ngay cả khi bạn có thể đảm bảo rằng các khoảng trắng không bị trộn lẫn với các tab của mình, thì bạn vẫn gặp sự cố. các tab cũng chơi kém với phông chữ có độ rộng thay đổi. Vấn đề này phát sinh khi [ví dụ] bạn muốn các nhận xét theo sau được căn chỉnh

a.m = 9;   // this is the slope
a.i = 4;   // this is the intensity
a.x = 1;   // this is the x-intercept

Khi họ đứng ngay bây giờ, tất cả đều xếp hàng một cách hoàn hảo. Tuy nhiên, được xem với phông chữ có chiều rộng thay đổi, mọi thứ trở nên xấu xí. Với khoảng trắng, các nhận xét có thể [thường sẽ] bị căn chỉnh hơi sai. Tuy nhiên, với các tab, sự sai lệch thường trở nên khá triệt để

a.m = 9;          // this is the slope
a.i = 4;  // this is the intensity
a.x = 1;          // this is the x-intercept

Đột nhiên, sự khác biệt nhỏ về chiều rộng giữa 'i' và 'm' hoặc 'x' trong phông chữ có độ rộng thay đổi của chúng tôi đã được phóng đại lên toàn bộ điểm dừng tab

Điểm mấu chốt là hầu hết mọi thay đổi trong cách bạn xem mã với các tab, bất kể có vẻ tầm thường đến đâu, đều có thể và thường sẽ tạo ra một mớ hỗn độn không thể đọc được

Để trả lời các câu hỏi khác của bạn. những người khác đã chỉ ra điều đó, nhưng tôi không thể tưởng tượng được có ai trong trình soạn thảo lập trình [hoặc nhiều thứ khác] thực sự sử dụng phím cách để chèn khoảng trắng, vì vậy câu hỏi của bạn về. "gõ spacespacespacespace" không liên quan vì dù sao cũng không ai làm điều đó. Tương tự như vậy với khoảng cách lùi. thật khó để tưởng tượng một trình chỉnh sửa yêu cầu nhấn BkSpc bốn lần để chuyển đến điểm dừng tab trước đó, vì vậy [một lần nữa] câu hỏi không liên quan

dòng dưới cùng. các tab đều ổn nếu bạn [và chỉ bạn] sẽ xem mã của mình và bạn chỉ làm như vậy với một trình chỉnh sửa duy nhất mà bạn không bao giờ cấu hình lại [hoàn toàn. ] Tuy nhiên, những điều kiện đó gần như không thể thực thi nên chỉ có một câu trả lời hợp lý. không bao giờ sử dụng các tab

Trong hướng dẫn này, chúng tôi thảo luận về ý nghĩa của lỗi này và tại sao nó lại xuất hiện. Chúng tôi sẽ xem qua một ví dụ về lỗi này để bạn có thể tìm ra cách giải quyết nó trong mã của mình

Tìm trận đấu Bootcamp của bạn

  • Career Karma kết hợp bạn với các bootcamp công nghệ hàng đầu
  • Truy cập học bổng độc quyền và các khóa học chuẩn bị
Chọn sở thích của bạn
Tên đầu tiên

Họ

E-mail

Số điện thoại


Bằng cách tiếp tục, bạn đồng ý với Điều khoản dịch vụ và Chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận các ưu đãi và cơ hội từ Career Karma qua điện thoại, tin nhắn văn bản và email

TabLỗi. sử dụng không nhất quán các tab và khoảng trắng trong thụt đầu dòng

Mặc dù có nói khoảng trắng là phương pháp thụt đầu dòng ưa thích khi mã hóa bằng Python, nhưng bạn có thể sử dụng khoảng trắng hoặc tab

Thụt đầu dòng rất quan trọng trong Python vì ngôn ngữ này không phụ thuộc vào cú pháp như dấu ngoặc nhọn để biểu thị nơi một khối mã bắt đầu và kết thúc. Thụt lề cho Python biết dòng mã nào là một phần của khối mã nào

Xét chương trình sau

numbers = [8, 7, 9, 8, 7]

def calculate_average_age[]:
average = sum[numbers] / len[numbers]
print[average]

Nếu không thụt đầu dòng, không thể biết dòng mã nào sẽ là một phần của hàm tính toán_trung bình_age và dòng mã nào là một phần của chương trình chính

Bạn phải gắn bó với việc sử dụng dấu cách hoặc tab. Không trộn lẫn các tab và không gian. Làm như vậy sẽ gây nhầm lẫn cho trình thông dịch Python và gây ra lỗi “TabError. lỗi sử dụng không nhất quán các tab và khoảng trắng trong thụt đầu dòng”

Một kịch bản ví dụ

Chúng tôi muốn xây dựng một chương trình tính toán tổng giá trị của các giao dịch mua được thực hiện tại một cửa hàng bánh rán. Để bắt đầu, hãy xác định danh sách mua hàng

purchases = [2.50, 4.90, 5.60, 2.40]

Tiếp theo, chúng ta sẽ định nghĩa một hàm tính tổng danh sách “mua hàng”

def calculate_total_purchases[purchases]:
	total = sum[purchases]
    return total

Chức năng của chúng tôi chấp nhận một tham số. danh sách mua hàng mà tổng giá trị chúng tôi muốn tính toán. Hàm trả về tổng giá trị của danh sách mà chúng ta chỉ định làm tham số

» THÊM.   Tìm hiểu Python cho người máy. Tài nguyên học tập, thư viện và các bước cơ bản

Chúng ta sử dụng phương thức sum[] để tính tổng các số trong danh sách “purchases”

Nếu bạn sao chép đoạn mã này vào trình soạn thảo văn bản của mình, bạn có thể nhận thấy dòng mã "tổng số trả lại" được thụt lề bằng cách sử dụng dấu cách trong khi dòng mã "tổng = tổng [mua hàng]" sử dụng các tab để thụt lề. Đây là một dấu hiệu đặc biệt quan trọng

Tiếp theo, gọi hàm của chúng tôi và in giá trị mà nó trả về bàn điều khiển

total_purchases = calculate_total_purchases[purchases]
print[total_purchases]

Mã của chúng tôi gọi hàm calculate_total_purchases[] để tính tổng giá trị của tất cả các giao dịch mua tại cửa hàng bánh rán. Sau đó chúng tôi in giá trị đó ra bàn điều khiển. Hãy chạy mã của chúng tôi và xem điều gì sẽ xảy ra

  File "test1.py", line 5
	return total
           	^
TabError: inconsistent use of tabs and spaces in indentation

Mã của chúng tôi trả về một lỗi

Giải pháp

Chúng tôi đã sử dụng khoảng trắng và tab để thụt lề mã của mình. Trong một chương trình Python, bạn nên sử dụng một trong hai phương pháp thụt đầu dòng này

Để sửa mã của chúng tôi, chúng tôi sẽ thay đổi chức năng của mình để chúng tôi chỉ sử dụng khoảng trắng

________số 8_______

Mã của chúng tôi sử dụng 4 khoảng trắng để thụt đầu dòng. Hãy chạy chương trình của chúng tôi với thụt đầu dòng mới của chúng tôi

15.4

Chương trình của chúng tôi tính toán thành công tổng giá trị mua bánh rán

Trong trình chỉnh sửa IDLE, bạn có thể xóa thụt đầu dòng cho một khối mã bằng cách làm theo các hướng dẫn sau

  • Chọn mã có thụt đầu dòng mà bạn muốn xóa
  • Nhấp vào “Menu” -> “Định dạng” -> “Untabify vùng”
  • Chèn kiểu thụt đầu dòng bạn muốn sử dụng

Đây là một cách thuận tiện để sửa định dạng trong tài liệu, giả sử bạn đang sử dụng trình soạn thảo IDLE. Nhiều trình soạn thảo khác, như Sublime Text, có phương pháp riêng để thay đổi thụt đầu dòng trong tệp

» THÊM.   Python trung bình. Hướng dẫn từng bước

Phần kết luận

Python “TabError. sử dụng không nhất quán các tab và dấu cách trong lỗi thụt đầu dòng” được phát sinh khi bạn cố gắng thụt lề mã bằng cách sử dụng cả dấu cách và tab

Bạn sửa lỗi này bằng cách dán vào một trong hai dấu cách hoặc tab trong một chương trình và thay thế bất kỳ tab hoặc dấu cách nào không sử dụng phương pháp thụt đầu dòng ưa thích của bạn. Bây giờ bạn đã có kiến ​​thức cần thiết để sửa lỗi này như một lập trình viên chuyên nghiệp



Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK

Không gian có cần thiết trong Python không?

Trình thông dịch/biên dịch không quan tâm đến khoảng trắng . Nó chỉ là về khả năng đọc. Bạn sẽ nhận thấy rằng cái thứ nhất dễ đọc hơn cái thứ hai, nhưng điều này không có nghĩa là cái thứ hai sai. Đó chỉ là vấn đề lựa chọn cá nhân.

Tại sao Python sử dụng 4 dấu cách?

Bốn là tốt vì đủ để làm cho vết lõm rõ ràng , nhưng không nhiều đến mức toàn bộ màn hình của bạn chủ yếu là khoảng trắng và bạn phải .

Tại sao không gian quan trọng trong mã hóa?

Nghiên cứu của họ cho thấy không gian tốt hơn nhiều vì một số lý do khác nhau. Kỹ thuật này không chỉ hấp dẫn về mặt hình ảnh hơn mà còn nó cho phép các lập trình viên kiếm được nhiều tiền hơn . Phân tích được thực hiện bởi nhóm tại Stack Overflow cho thấy rằng các lập trình viên sử dụng khoảng trắng thay vì tab đang kiếm được nhiều tiền hơn.

Python có quan tâm đến khoảng trắng không?

- Python không quan tâm đến các dòng trống thừa trong chương trình của bạn , giống như hầu hết các ngôn ngữ. Trên thực tế, các nhà phát triển thường thêm các dòng trống, còn được gọi là khoảng trắng, Bạn có thể coi nó giống như các đoạn văn trong sách.

Chủ Đề