2012-04-11 23 views
13

Tôi đang cập nhật một số mã theo tiêu chuẩn PEP 8 bằng giá trị pylint. Một phần của mã là ném lỗi biến không sử dụng W0612 nhưng đó là vì nó sử dụng một mô-đun trả về (x, y) ví dụ khi chỉ x là cần thiết trong trường hợp cụ thể này, đây là những gì được thực hiện.Cách xử lý thông báo thư: ID: W0612 Biến không sử dụng

(var_1, var_2) = func() 

def func(): 
    a="a" 
    b="b" 
    return (a,b) 

var_1 sau đó được trả về nhưng var_2 không bao giờ được sử dụng và do đó sẽ phát sinh lỗi. Làm thế nào tôi nên xử lý này? Tôi đang nghĩ đến điều này

var = func()[0] 

Cách tốt nhất để xử lý nó là gì?

Trả lời

23

Tôi tin rằng a, dummy = func() thực hiện thủ thuật. Pylint cho phép (nếu tôi nhớ chính xác) các tên biến không sử dụng bắt đầu bằng _ hoặc dummy, ví dụ: dummy_index.

Bạn có thể định cấu hình này bằng cách chuyển tùy chọn --dummy-variables-rgx thành Pylint. Điều này chỉ định regex bắt các tên biến giả.

Lưu ý: Sử dụng _ thực sự có thể gây nhầm lẫn (đạo cụ: Sven Marnach). Có một quy ước sử dụng dấu gạch dưới đơn làm tiền tố cho các số nhận dạng bán riêng, dấu gạch dưới kép dĩ nhiên là tiền tố cho các phương thức Python đặc biệt và trên đó có một quy ước cho hàm bí danh là _() trong các chương trình cần bản địa hóa như trong _("text to translate").

+1

Có đó là hoàn hảo 'unused_index' không hoạt động,' _unused_index' và '_index' đã làm. Cảm ơn bạn đã giúp đỡ. – Jacxel

+1

Tôi khuyên bạn nên sử dụng 'dummy' chỉ trên một tên biến' _'. Loại thứ hai thường gây nhầm lẫn không cần thiết. –

+0

@Jacxel Tôi đã sai về tiền tố 'không được sử dụng'. Đây là những gì chúng tôi sử dụng trong một codebase tôi đã từng làm việc. Giá trị mặc định Pylint là 'dummy' hoặc' _'. –

Các vấn đề liên quan