2016-08-24 74 views
0

如果我命名函数的参数与我将传递给它们的变量相同,是否有任何规则(或者我会遇到任何问题)? 例如在Python:命名参数与传递给它们的变量相同吗?

def foo(param): 
    pass 

param = 2 

foo(param) 

在相当有限的编程我做了,我还没有碰到了这样做的任何问题。我会在某些语言中遇到问题吗?这是可以做的,还是一种可以避免的做法?

回答

1

在这种特殊情况下,“问题”是函数参数名称将影响外部变量param;即您不能(隐式地)参考全局param,因为您的函数param被定义为局部变量。

但是,这确实是应该的。你的函数只应该担心它在本地声明的参数,而不是关于隐式的全局变量。相反,函数的调用者不必担心函数内部发生的任何事情。给函数命名一个与参数相同的变量对调用者来说并不重要,并且对函数本身来说不应该有任何影响。

所以,不,这里绝对没有问题。

相关问题