redefined-argument-from-local (PLR1704)
源自 Pylint 代码检查工具。
作用
检查在 for
、try
、with
语句中定义的变量是否重新定义了函数参数。
为什么这不好?
重新定义的变量可能会因覆盖函数参数而导致意外行为。 如果声明了嵌套函数,则内部函数的主体可以覆盖外部函数的参数。
示例
def show(host_id=10.11):
for host_id, host in [[12.13, "Venus"], [14.15, "Mars"]]:
print(host_id, host)
建议改为
def show(host_id=10.11):
for inner_host_id, host in [[12.13, "Venus"], [14.15, "Mars"]]:
print(host_id, inner_host_id, host)