如果我在python脚本中有很多函数,我可以为所有这些函数使用相同的变量名吗? 如果是,它是否有效?如何? 要么 为不同的功能使用不同的名称更好吗? 例如:
def func1():
tmp = 1
........
def func2():
tmp = 2
........
def funcn():
tmp = something
............
只有我能找到的问题,在调试时会让人感到困惑。
答案 0 :(得分:2)
每个函数都会创建一个新范围。由于您未使用global
或nonlocal
,因此tmp
不会以任何方式相互影响,因此安全继续使用该名称以及不同的功能。
话虽如此,像tmp
这样的名字并不是很具描述性。如果你开始使用更具描述性的名字(即使是临时变量),你未来的自我也会想要给你现在的自己买一些冰淇淋。
答案 1 :(得分:0)
答案是"是"。在这种情况下,tmp是函数范围的本地。所以你可以为所有函数使用相同的变量名。但这并不意味着它将值存储在同一个内存位置。所以我们不能说它在存储复杂性方面是有效的。如果我们考虑运行时间,它不依赖于变量名。它取决于算法和输入数量。
最好为每个函数使用有意义的变量名。因为在调试程序时,您可以轻松识别代码。