对于不同功能的变量使用相同的名称?

时间:2013-12-10 11:31:10

标签: python function variables python-3.x naming

我一直在寻找我的问题,但没有发现任何有用的东西。我的问题相当容易和直截了当。

对于某个变量使用相同的名称是否优先或者可能是“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是否应该被命名为其他?

3 个答案:

答案 0 :(得分:11)

函数中的名称是 local ;如你所愿,重复使用它们!

换句话说,一个函数中的名称与另一个函数中的名称没有关系。使用良好,可读的变量名称,不要担心名称冲突。

答案 1 :(得分:1)

它与“Pythonic”无关。在编程中,你总是希望你的变量具有意义,如果在差异函数中出现相同的名称,这意味着他们做的事情具有相同的目的或相同的参数。只要它们不碰撞并产生问题就可以在不同的功能中使用相同的名称

答案 2 :(得分:1)

函数中定义的变量具有函数范围,并且仅在函数的正文中可见。

有关Python的范围规则的解释,请参阅:http://en.wikipedia.org/wiki/Scope_(computer_science)#Python