vscode visual studio linter code python pylint

visual - vscode python lint



¿Por qué advierte PyLint sobre no__init__? (2)

Tenemos numerosas clases de python que no parecen necesitar __init__ , inicializarlas en vacío es perfectamente aceptable o incluso preferible. PyLint parece pensar que esto es algo malo. ¿Me falta alguna idea de por qué no tener __init__ es un mal olor? ¿O debería simplemente suprimir esas advertencias y superarlo?


¿Para qué estás usando estas clases?

Si son solo una agrupación de funciones que no necesitan mantener ningún estado, no hay necesidad de un __init__() pero tendría más sentido simplemente mover todas esas funciones a su propio módulo.

Si mantienen un estado (tienen variables de instancia), probablemente debería tener un __init__() para que esas variables puedan inicializarse. Incluso si nunca proporciona valores para ellos cuando se crea la clase, generalmente es una buena idea tenerlos definidos para que las llamadas a sus métodos no hagan referencia a las variables de instancia que pueden o no existir.

Dicho esto, si no necesita un __init__() , no dude en ignorar esa advertencia.

edición: según su comentario, parece que está de acuerdo con AttributeError que obtendrá sobre las variables de referencia antes de la inicialización. Esa es una manera perfecta de programar sus clases, por lo que, en ese caso, ignorar la advertencia de PyLint es razonable.


Por lo general, al menos usará el __init__() para inicializar las variables de instancia. Si no está haciendo esto, desactive la advertencia.