python - constantes - Nombre constante constante de Pylint
constantes python 3 (1)
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 es incorrecta? 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
Al verificar nombres, Pylint diferencia entre constantes, variables, clases, etc. Cualquier nombre que no esté dentro de una función / clase se considerará una constante, cualquier otra cosa es una variable.
Ver http://docs.pylint.org/features.html#basic-checker
variable-rgx:
[a-z_][a-z0-9_]{2,30}$
const-rgx:
(([A-Z_][A-Z0-9_]*)|(__.*__))$
Debido a que estás en una función, se MIN_SOIL_PARTICLE_DENS
que MIN_SOIL_PARTICLE_DENS
(según la pildora) es una variable, pero la trata como una constante y por lo tanto se queja.
Esto significa que no puede tener ningún nombre en mayúsculas dentro de las funciones sin quejas de pylint.
Si me preguntas, usar funciones internas mayúsculas está bien; no todas las constantes se definen necesariamente globalmente.