python的return如何理解?

比如learn python the hard way 里的

def add(a, b):
print “adding %d + %d” % (a, b)
return a + b
回复内容:
请先看 @张晓峰 的答案。如果这个答案也看不懂——首先要了解,函数是什么?书上可能会说函数是完成功能的模块之类的话。其实说白了,函数就是个你招来的工人。你给他一些材料,告诉他怎么用这些材料拼装,然后他负责把拼装好的成品交给你。材料就是函数的参数,成品是函数的输出,而怎么拼装就是你写的函数体代码了。比如这段代码

def worker(a, b, c):
x = a + b
y = x * c

return 语句就是将结果返回到调用的地方,并把程序控制权一起返回。比如如果其他地方有一句

num = add(a, b)

好像被邀请了. 先占个坑. 开始写答案,一会写好了粘过来.
卧槽得到了1个赞!来修正下!无意间看到这个好2的问题..写一下我的粗浅见解..1、函数(function)的功能是处理(process)参数(argument),从而得到一个返回值(return)1.1、上一点也可以这么理解,函数是工序,参数是原材料,返回值是成品。回答问题:“这里的return a + b执行了什么操作?”显然执行了a+b这个操作,并把a+b返回给这个叫add的函数,使a+b成为add函数的处理结果。“return有什么含义,如何使用?”函数的几个要素包括:函数名,参数,处理过程,返回结果(return),其中处理过程不必要,但其他三个是一定有的(但是return不一定要写,在定义函数时可以不写return,函数会默认返回none),对应你给的例子就是函数名add,参数a和b,返回结果a+b。return的含义你参考秋菊打官司:“俺就是要个说法(结果)嘛”或者参考函数的功能来理解。至于如何使用,(以你的add函数为例)简单的总结有以下几点:正常版:return a+b手残版:returna+b #报错nameerror智障版:return a #只返回a智障版2:return c+d #报错nameerror任性版:return 2 #就是这么2任性版2:return a-b #你开心就好:)空虚版:return #返回一个none
print只是单纯的将结构输出至你的显示设备,再没有其它任何意义。举个return的栗子:def autoparts(): parts_dict={} list_of_parts = open(‘list_of_parts.txt’, ‘r’) for line in list_of_parts: k, v = line.split() parts_dict[k] = v return parts_dict为什么return?如果你不return,那么你建立的这个字典就挂了,在function运行完后其结果不可再被访问,因为你仅仅是把结果print到输出设备上。如果你return了这个结果,那么结果会被保留,那么你还可以在这个结果的基础上做些其它事情,如:my_auto_parts=autoparts() print my_auto_parts[‘engine’]当我们再调用autoparts这个function时,它将return的值给我们,我们可以把这个return的值储存在my_auto_parts这个变量里,我们可以在autoparts这个function运行完后,依然通过my_auto_parts这个变量来获取字典里的内容,最后我们可以输出字典里关键词“engine”的目标。
首先,你是在定义一个函数,使用它的时候要调用它sum=add(3,4)输出sum=7可见,return把后面表达式的结果返回给了sum重点是要明白 定义函数 然后 使用函数,这是两个步骤。
啊哈哈哈!我在知乎回答的第一道专业题!返回你def的这个函数
用中文“返回”两字来解释这个概念的,都tm在说废话,人家问如何理解,你就把英文翻译过来有意义么

Posted in 未分类