即使变化也是常量变量

问题描述 投票:1回答:1

运行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被认为是一个常量,因为它在迭代期间永远不会改变,并且下一次迭代变量被视为“新”。我理解正确吗?

python constants pep8 pep
1个回答
2
投票

Pylint认为myvar是常规的常量,因为它是全局的(在模块级别声明)。

通常,您不应该在模块级别上编写这样的代码,而是将其包装在函数中:

def main():
    i = 0
    while i < 4:
        myvar = i
        i = i + 1

if __name__ == '__main__':
    main()
© www.soinside.com 2019 - 2024. All rights reserved.