_
có 4 cách sử dụng thông thường chính trong Python:
- Để giữ kết quả của biểu thức (/ câu lệnh) được thực hiện cuối cùng trong phiên phiên dịch tương tác. Tiền lệ này được thiết lập bởi trình thông dịch CPython tiêu chuẩn và các thông dịch viên khác đã làm theo
- Để tra cứu bản dịch trong i18n (xem
tài liệu gettext chẳng hạn), như trong mã như:
raise forms.ValidationError(_("Please enter a correct username"))
- Là một tên biến "mục đích" chung để chỉ ra rằng một phần của kết quả hàm đang bị bỏ qua một cách có chủ ý (Về mặt khái niệm, nó đang bị loại bỏ.), Như trong mã như :
label, has_label, _ = text.partition(':')
.
- Là một phần của định nghĩa hàm (sử dụng một trong hai
def
hoặc lambda
), trong đó chữ ký được cố định (ví dụ: bằng hàm gọi lại hoặc API lớp cha), nhưng việc triển khai hàm cụ thể này không cần tất cả các tham số, như trong mã như:callback = lambda _: True
(Trong một thời gian dài, câu trả lời này chỉ liệt kê ba trường hợp sử dụng đầu tiên, nhưng trường hợp thứ tư thường xuất hiện đủ, như đã lưu ý ở đây , để có giá trị liệt kê rõ ràng)
Các trường hợp sử dụng "biến số hoặc tên tham số" sau này có thể xung đột với trường hợp sử dụng tra cứu dịch thuật, do đó, cần tránh sử dụng _
như một biến ném trong bất kỳ khối mã nào cũng sử dụng nó cho bản dịch i18n (nhiều người thích sử dụng dấu gạch dưới kép ,, __
như là biến số bỏ đi của họ cho chính xác lý do này).