Pylint无效的常量名称

我收到一个关于我的常量MIN_SOIL_PARTICLE_DENS错误: MIN_SOIL_PARTICLE_DENS (无效名称)。 任何想法为什么这个常数是错的? 这是我的全部function:

 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 

当检查名字时,Pylint会在常量,variables,类之间进行区分。任何不在函数/类内部的名字都将被视为一个常量,其他的都是一个variables。

请参阅http://docs.pylint.org/features.html#basic-checker

可变RGX:
[a-z_][a-z0-9_]{2,30}$

常量,RGX:
(([A-Z_][A-Z0-9_]*)|(__.*__))$

因为你在一个函数中, MIN_SOIL_PARTICLE_DENS (根据pylint)应该是一个variables,但是pylint将它视为一个常量,因此抱怨。

这意味着你不能在没有pylint抱怨的情况下使用任何大写的名字。


如果你问我,使用大写里面的函数是好的; 并不是所有的常量都必须全局定义。