nombres constantes python coding-style pylint

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.