详解函数的参数和返回值 | 手把手教你入门Python之四十-阿里云开发者社区

开发者社区> KB小秘书> 正文

详解函数的参数和返回值 | 手把手教你入门Python之四十

简介: 本节重点介绍函数参数
+关注继续查看

上一篇:详解函数介绍,定义和调⽤ | 手把手教你入门Python之三十九
下一篇:函数的⽂档说明 | 手把手教你入门Python之四十一

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。

函数参数

思考⼀个问题,如下:

现在需要定义⼀个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计?下
⾯的代码可以吗?有什么缺陷吗?

def add2num():
 a = 11
 b = 22
 c = a+b
 print(c)

为了让⼀个函数更通⽤,即想让它计算哪两个数的和,就让它计算哪两个数的和,在定义函数的时候可以让函数接收数据,就解决了这个问题,这就是 函数的参数

⼀、定义、调⽤带有参数的函数

定义⼀个add2num(a, b)函数,来计算任意两个数字之和:

def add2num(a, b):
 c = a+b
 print c
add2num(11, 22) # 调⽤带有参数的函数时,需要在⼩括号中,传递数据

注意点:

  • 在定义函数的时候,⼩括号⾥写等待赋值的变量名
  • 在调⽤函数的时候,⼩括号⾥写真正要进⾏运算的数据

调⽤带有参数函数的运⾏过程:
image.png

练一练

要求:定义⼀个函数,完成前2个数完成加法运算,然后对第3个数,进⾏减法;然后调⽤这个函数

  • 使⽤def定义函数,要注意有3个参数
  • 调⽤的时候,这个函数定义时有⼏个参数,那么就需要传递⼏个参数

三、调⽤函数时参数的顺序

>>> def test(a,b):
... print(a,b)
...
>>> test(1,2) # 位置参数
1 2
>>> test(b=1,a=2) # 关键字参数
2 1
>>>
>>> test(b=1,2) # 关键字参数写在位置参数之前会导致出错
 File "<stdin>", line 1
SyntaxError: positional argument follows keyword argument

四、小总结

  • 定义时⼩括号中的参数,⽤来接收参数⽤的,称为 “形参”
  • 调⽤时⼩括号中的参数,⽤来传递给函数⽤的,称为 “实参”

image.png
image.png

函数返回值

⼀、“返回值”介绍

现实⽣活中的场景:
我给⼉⼦10块钱,让他给我买个冰淇淋。这个例⼦中,10块钱是我给⼉⼦的,就相当于调⽤函数时传
递到参数,让⼉⼦买冰淇淋这个事情最终的⽬标,我需要让他把冰淇淋带回来,此时冰淇淋就是返回值

开发中的场景:

定义了⼀个函数,完成了获取室内温度,想⼀想是不是应该把这个结果给调⽤者,只有调⽤者拥有了这
个返回值,才能够根据当前的温度做适当的调整

综上所述:

  • 所谓“返回值”,就是程序中函数完成⼀件事情后,最后给调⽤者的结果
  • 使⽤返回值的前提需求就是函数调⽤者想要在函数外使⽤计算结果

⼆、带有返回值的函数

想要在函数中把结果返回给调⽤者,需要在函数中使⽤return

如下示例:

def add2num(a, b):
 c = a+b
 return c # return 后可以写变量名

或者

def add2num(a, b):
 return a+b # return 后可以写计算表达式

三、保存函数的返回值

在本⼩节刚开始的时候,说过的“买冰淇淋”的例⼦中,最后⼉⼦给你冰淇淋时,你⼀定是从⼉⼦⼿中接过来对么,程序也是如此,如果⼀个函数返回了⼀个数据,那么想要⽤这个数据,那么就需要保存

保存函数的返回值示例如下:

#定义函数
def add2num(a, b):
 return a+b
#调⽤函数,顺便保存函数的返回值
result = add2num(100,98)
#因为result已经保存了add2num的返回值,所以接下来就可以使⽤了
print(result)

结果:

198

image.png
image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【Boost】boost库asio详解2——io_service::run函数无任务时退出的问题
io_service::work类可以使io_service::run函数在没有任务的时候仍然不返回,直至work对象被销毁。 [cpp] view plain copy    print? void test_asio_nowork()   {       b...
1195 0
SpringMVC Controller 返回值的可选类型
spring mvc 支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。   ModelAndView @RequestMapping("/hello") public ModelAndView hel...
595 0
函数的⽂档说明 | 手把手教你入门Python之四十一
本节重点介绍函数的⽂档说明,函数应⽤:打印图形和数学计算
1109 0
对pos搜索函数的研究以及优化思路···
代码摘自delphi的Pos函数。。。总的来说,若我理解无误的话,该函数才用的搜索机制并不是非常高明。
600 0
JavaScript创建对象(四)——组合使用构造函数和原型模式
在JavaScript创建对象(三)——原型模式中,我们阐述了原型模式存在的两个问题:一是没办法通过构造函数初始化对象属性,二是共享引用类型的数据导致数据错乱。
825 0
+关注
1090
文章
1253
问答
来源圈子
更多
Python学习资料大全,包含Python编程学习、实战案例分享、开发者必知词条等内容。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载