2015-09-16 13 views
13

Czy istnieje sposób, aby zadeklarować zmienną jako nieużywaną w PyCharm lub ogólnie w Pythonie, więc można jawnie powiedzieć kompilatorowi, aby nie ostrzegał o tym?Jawnie deklarowanie zmiennej jako nieużywanej w Pythonie/PyCharm

Nie mówię o konwencji nazwania nieużywanych zmiennych dla programisty (często o nazwie "_" lub "__"), ale opcję jawnego oznaczania zmiennej jako nieużywanej dla kompilatora, na przykład w pętli. Ja również nie chcę wyłączać inspekcji w ogóle.

Słyszałem, że możesz to zrobić w PyDev, zaczynając nazwę zmiennej od "nieużywanego", i myślałem, że to też może istnieć w PyCharm, ale nie udało się jeszcze tego znaleźć.

+0

Możesz wyłączyć kontrolę dla wyciągu. Python w ogóle nie ostrzega. Ale dla PyLint można [wyłączyć ostrzeżenia] (http://stackoverflow.com/questions/4341746/how-do-i-disable-a-pylint-warning) za pomocą komentarza. –

Odpowiedz

9

Można wyłączyć tę kontrolę zarówno dla pojedynczej instrukcji jak:

# noinspection PyUnusedLocal 
unused_thing = something() 

lub dla całej funkcji (lub klasy), umieszczając komentarz wyżej funkcji (lub klasy):

# noinspection PyUnusedLocal 
def foo(): 
    unused_thing = something() 

Z jakiegoś powodu ta szczególna inspekcja nie może zostać wyłączona za pomocą menu kontekstowego inspekcji ... może warta biletu pycharm.

3

Zauważyłem, że użycie pojedynczego podkreślenia nazwy zmiennej jednorazowej wydaje się ominąć tę kontrolę. Używam PyCharm 2016.1.3.

for _ in range(3): 
    pass 
+0

Dobre dla pylint też. – Rafe

+0

PyCharm wydaje się również rozpoznawać podwójne podkreślenie '__', np. 'dla _, __ w my_dict.items()' –

1

Innym sposobem, podobnie jak UNUSED w C++ (here), który działa, jeśli chcesz ukryć ostrzeżenie na konkretnego parametru funkcji, ale zachowuje ostrzeżenie włączone do reszty funkcji:

# noinspection PyUnusedLocal 
def UNUSED(*args, **kwargs): 
    pass 

def my_function(alpha, beta, gamma): 
    UNUSED(gamma) 
    return alpha + beta 
Powiązane problemy