0
如果我命名函数的参数与我将传递给它们的变量相同,是否有任何规则(或者我会遇到任何问题)? 例如在Python:命名参数与传递给它们的变量相同吗?
def foo(param):
pass
param = 2
foo(param)
在相当有限的编程我做了,我还没有碰到了这样做的任何问题。我会在某些语言中遇到问题吗?这是可以做的,还是一种可以避免的做法?
如果我命名函数的参数与我将传递给它们的变量相同,是否有任何规则(或者我会遇到任何问题)? 例如在Python:命名参数与传递给它们的变量相同吗?
def foo(param):
pass
param = 2
foo(param)
在相当有限的编程我做了,我还没有碰到了这样做的任何问题。我会在某些语言中遇到问题吗?这是可以做的,还是一种可以避免的做法?
在这种特殊情况下,“问题”是函数参数名称将影响外部变量param
;即您不能(隐式地)参考全局param
,因为您的函数param
被定义为局部变量。
但是,这确实是应该的。你的函数只应该担心它在本地声明的参数,而不是关于隐式的全局变量。相反,函数的调用者不必担心函数内部发生的任何事情。给函数命名一个与参数相同的变量对调用者来说并不重要,并且对函数本身来说不应该有任何影响。
所以,不,这里绝对没有问题。