Le module say
apporte une interpolation de chaîne à Python, comme ceci:
import say
def f(a):
return say.fmt("The value of 'a' is {a}")
Cependant, PyLint se plaint que la variable "a" n’est jamais utilisée. C'est un problème parce que mon code utilise abondamment say.fmt
. Comment puis-je faire taire cet avertissement?
Oui, vous pouvez faire taire les avertissements pylint.
Voici un moyen:
import say
def f(a):
#pylint: disable=unused-argument
return say.fmt("The value of 'a' is {a}")
Vous pouvez également créer un fichier de configuration et y ajouter les lignes suivantes:
[MESSAGES CONTROL]
disable=unused-argument
Référence:
Une approche pour désactiver ce message consiste à nommer ou à préfixer l'argument avec dummy
ou _
, comme dans:
import say
def f(_a):
return say.fmt("The value of 'a' is {_a}")
Voir ici pour plus d’informations: https://stackoverflow.com/a/10107410/1080804
Il y a maintenant disable-possibly-unused-variable
(depuis pylint 2.0 est sorti le 2018-07-15 ), ce que l’on peut ignorer dans les fichiers qui importent votre module say
:
Nouvelle vérification éventuellement-inutilisée-variable ajoutée.
Ceci est similaire à une variable non utilisée, la seule différence est qu’elle est émise lorsque nous détectons un appel à locals () dans la portée de la variable non utilisée. L'appel locals () pourrait potentiellement utiliser ladite variable en consommant toutes les valeurs présentes jusqu'au moment de l'appel. Cette nouvelle vérification permet de désactiver cette erreur lorsque l'utilisateur utilise intentionnellement locals () pour tout consommer.
Par exemple, le code suivant va maintenant déclencher cette nouvelle erreur:
def func(): some_value = some_call() return locals()
La raison de cette vérification inclut explicitement votre cas d'utilisation , bien qu'il soit noté que ce n'est pas une solution parfaite:
Il serait bien d’avoir une vérification séparée des variables inutilisées si locals () est utilisé dans le même périmètre:
def example_no_locals(): value = 42 # pylint: disable=unused-variable def exmaple_defined_before(): value = 42 # pylint: disable=possibly-unused-variable print(locals()) def exmaple_defined_after(): print(locals()) value = 42 # pylint: disable=unused-variable
L'avantage de ceci est que l'on peut désactiver la variable probablement-non-utilisée pour un fichier (qui contient beaucoup de formatage de chaîne, ou l'exemple de code de configuration dans # 641) ou le projet entier sans perdre également les vérifications de variable inutilisée.