您什么时候知道什么时候使用参数或局部变量(局部变量,我指的是在函数中声明的变量,如例2)?有时人们使用局部变量,有时他们在函数中使用参数。有什么关系?
def function(a, b):
return a+b
function(2,3)和:
def function():
a = 2
b = 3
return a+b这是一个非常简单的例子,但是如果函数要更大,什么时候使用局部变量而不是参数呢?请帮帮忙。
发布于 2017-04-27 14:28:36
为了帮助回答这个问题,我想举一个例子来回答。
函数可以被认为是可重复的指令。所以我们可以有一个叫做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:
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'总之,局部变量可以是函数所需的东西,这样它就可以完成它的工作。参数是用于“配置”函数以以某种方式运行,或者是函数必须使用的“未知”因素。
https://stackoverflow.com/questions/43658802
复制相似问题