在for循环中重复使用相同的变量名两次

时间:2019-12-02 15:57:46

标签: python for-loop design-principles

for i in rates:
    if input_currency == currency:
        if output_currency in rates[currency]:
            pass 
        else:
            for i in rates:

在for循环中再次使用相同的变量i通常不是一件好事吗?即使我再次遍历相同的数据结构? PyCharm只是告诉我它已经被使用过,但仍然可以使用。

1 个答案:

答案 0 :(得分:2)

这没错。但是,如果您不知道自己在做什么,那将很危险。例如,如果要在外部循环内使用i,则可能会遇到问题:

rates = [1,2,3,4,5]
for i in rates:
    for i in rates:
        pass
    print(i) # This always prints 5

如果您不熟悉Python,这可能会使您感到困惑。例如,在C语言中,内部循环中定义的变量与外部循环中定义的变量不同(即,您可以将相同的名称重用于不同的变量)。