Recibo un error de Pylint con respecto a mi constante: MIN_SOIL_PARTICLE_DENS
(nombre no válido). ¿Alguna idea de por qué esta constante está mal? Aquí está mi función completa:
def bulk_density(clay, sand, organic_matter):
MIN_SOIL_PARTICLE_DENS = 2.65
x1 = (0.078 + 0.278 * sand + 0.034 * clay + 0.022 * organic_matter - 0.018
* sand * organic_matter - 0.027 * clay * organic_matter - 0.584 * sand
* clay)
x2 = -0.107 + 1.636 * x1
field_capacity = vol_water_content_33_j_kg(clay, sand, organic_matter)#m3/m3
sat_water_content = 0.043 + field_capacity + x2 - 0.097 * sand
return (1 - sat_water_content) * MIN_SOIL_PARTICLE_DENS
fuente
func_name = make_func(1,2,3)
podría considerarse incorrecto? El caso de uso actual estávlen = numpy.vectorize(len)
en el módulo utils para trabajar con matrices irregulares en h5py .Pocas reglas simples:
UPPER_CASE
solo con letras y deben definirse a nivel de móduloCamelCase
letraslower_case
y deben definirse dentro de la función, clases, etc.Ahora hablemos de tu caso
MIN_SOIL_PARTICLE_DENS
se define dentro de una función y solo debe tener letras minúsculas. Por lo tanto, en lugar de considerarloMIN_SOIL_PARTICLE_DENS
como una constante, pylint lo considera como una variable aquí y por lo tanto el error de pylint.Tutorial de Pylint
fuente
Encontré este comportamiento molesto, ¡pero hay una manera de configurar pylint para evitarlo!
Fusiona la siguiente declaración de estilo ini en tu
.pylintrc
archivo:[BASIC] variable-rgx=((([a-z_][a-z0-9_]{2,})|(_[a-z0-9_]*)|(__[a-z][a-z0-9_]+__))$)|([A-Z_][A-Z0-9_]+$)
Construí esta expresión regular tomando
la expresión regular snake_case predeterminada tomada de la fuente de pylint en esta línea ,
la expresión regular CONST_VAR predeterminada tomada de la fuente de pylint en esta línea
y uniéndolos con
|
y algunos paréntesis.Teóricamente, también podría simplemente tomar
.*
, pero esto permitiría incluso nombres no válidos comomixed_CASE
.fuente