我一直在寻找我的问题,但没有发现任何有用的东西。我的问题相当容易和直截了当。
对于某个变量使用相同的名称是否优先或者可能是“pythonic”,它将出现在不同的函数中,但具有相同的目的?
例如:
def first_function():
pt = win.getMouse() # This waits for a mouseclick in a graphical window.
if blabla.button.clicked(pt):
second_function()
def second_function():
pt = win.getMouse()
if whatever.button.clicked(pt):
third_function()
win.getMouse()
中second_function()
的{{1}}变量引用(pt)是否与first_function()
中的变量同名?或者第二个函数中的变量pt是否应该被命名为其他?
答案 0 :(得分:11)
函数中的名称是 local ;如你所愿,重复使用它们!
换句话说,一个函数中的名称与另一个函数中的名称没有关系。使用良好,可读的变量名称,不要担心名称冲突。
答案 1 :(得分:1)
它与“Pythonic”无关。在编程中,你总是希望你的变量具有意义,如果在差异函数中出现相同的名称,这意味着他们做的事情具有相同的目的或相同的参数。只要它们不碰撞并产生问题就可以在不同的功能中使用相同的名称
答案 2 :(得分:1)
函数中定义的变量具有函数范围,并且仅在函数的正文中可见。
有关Python的范围规则的解释,请参阅:http://en.wikipedia.org/wiki/Scope_(computer_science)#Python。