详解函数的参数和返回值 | 手把手教你入门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) # 调⽤带有参数的函数时,需要在⼩括号中,传递数据

注意点:

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

调⽤带有参数函数的运⾏过程:
详解函数的参数和返回值 | 手把手教你入门Python之四十

练一练

要求:定义⼀个函数,完成前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

四、小总结

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

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

函数返回值

⼀、“返回值”介绍

现实⽣活中的场景:
我给⼉⼦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

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

上一篇:ORACLE对象大小写问题


下一篇:避免Qt库引起“过期”lib或obj的问题