请在运行pylint之后考虑以下代码:
'''
Test
'''
i = 0
while i < 4:
myvar = i
i = i + 1
pylint报告:
Constant name "myvar" doesn't conform to UPPER_CASE naming style (invalid-name)
但是,myvar
在运行过程中明显改变时真的是多少呢?
IIUC,它不是一个误报,而是将myvar
视为常量,因为它在迭代过程中从未发生变化,并且在下一次迭代中,该变量被视为“新”。我理解正确吗?
答案 0 :(得分:2)
Pylint认为myvar
是一个常量,因为它是全局的(在模块级别上声明)。
通常,您不应在模块级别编写这样的代码,而应将其包装在函数中:
def main():
i = 0
while i < 4:
myvar = i
i = i + 1
if __name__ == '__main__':
main()