你什么时候知道何时使用参数或局部变量(通过局部变量我的意思是在函数中声明的变量,如例2)?有时人们会创建局部变量,有时他们会在函数中使用参数。有什么区别?
def function(a, b):
return a+b
function(2,3)
和
def function():
a = 2
b = 3
return a+b
这是一个非常简单的例子,但是如果函数更大,你何时会使用局部变量而不是参数?请帮忙。
答案 0 :(得分:1)
为了帮助回答这个问题,我想以一个例子来回答。
可以将函数视为可重复的指令。所以我们可以有一个名为fixCar()
的函数。这个功能基本上是我们的机器人修理汽车的一套指令。我们希望将汽车传递给机器人进行修理,因为我们不知道我们将修理的机器人是什么车,我们应该通过:
def fixCar(car):
这就产生了一个要求,我们必须将汽车传递给机器人进行修理,如果我们不将汽车传递给机器人,机器人将如何修理汽车?
要修理汽车,机器人需要有基本工具,确保我们每次都可以将基本工具传递给它(def fixCar(car, tools)
),但是如果需要修理任何一套汽车,那么将工具作为局部变量包含在内的意义,我们不需要每次都指定它们:
def fixCar(car):
tools = 'basic tools'
现在无论我们传递什么车,机器人都有基本工具可供使用。如果我们想给他们特殊的工具来开发特殊车,会发生什么?由于它可能是客户带来的特殊工具(想想高端汽车上的轮胎锁),我们必须通过参数将一组特殊工具传递给机器人:
def fixCar(car, specialTools):
tools = 'basic tools'
但是如果我们有时并且不总是传递一些工具,我们可以设置参数的默认值。这会导致specialTools
和optional argument
,这意味着如果我们没有传递任何内容,该程序将不会抱怨,并且如果我们传入某些内容,则会使用specialTools
:< / p>
def fixCar(carType, specialTools=None):
if specialTools:
print('I have special tools to work with')
else:
print('I didn't receive any special tools, but that's okie')
tools = 'basic tools'
总之,局部变量可以是函数所需要的东西,因此它可以完成它的工作。参数是&#39; config&#39;以某种方式运行的功能还是“未知”的功能。函数必须使用的因子。