如何在Python 3.5中管理临时变量?

时间:2016-07-13 06:31:18

标签: python

如果我在python脚本中有很多函数,我可以为所有这些函数使用相同的变量名吗? 如果是,它是否有效?如何? 要么 为不同的功能使用不同的名称更好吗? 例如:

def func1():
    tmp = 1
    ........



def func2():
    tmp = 2
    ........

def funcn():
    tmp = something 
    ............

只有我能找到的问题,在调试时会让人感到困惑。

2 个答案:

答案 0 :(得分:2)

每个函数都会创建一个新范围。由于您未使用globalnonlocal,因此tmp不会以任何方式相互影响,因此安全继续使用该名称以及不同的功能。

话虽如此,像tmp这样的名字并不是很具描述性。如果你开始使用更具描述性的名字(即使是临时变量),你未来的自我也会想要给你现在的自己买一些冰淇淋。

答案 1 :(得分:0)

答案是"是"。在这种情况下,tmp是函数范围的本地。所以你可以为所有函数使用相同的变量名。但这并不意味着它将值存储在同一个内存位置。所以我们不能说它在存储复杂性方面是有效的。如果我们考虑运行时间,它不依赖于变量名。它取决于算法和输入数量。

最好为每个函数使用有意义的变量名。因为在调试程序时,您可以轻松识别代码。