【10.25】Python语法练习5/17

2019-10-25  本文已影响0人  零壹問答

学习任务:函数与 Lambda 表达式

一、函数
Python中,定义函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:然后,在缩进块中编写函数体,函数的返回值用return语句返回。
定义一个求绝对值的函数:
def my_abs(x):
if x >= 0:
return x
else:
return -x

函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现复杂的逻辑。
如果没有return语句,函数执行完毕后,也会返回结果,知识结果为none。

空函数
用pass语句可以定义一个空函数,pass可以作为占位符,如果还没想好怎么写函数的代码,可以先放一个pass,让代码能运行起来。
pass还可以用在其他语句里,比如:
if age >= 18:
pass
缺少pass,代码运行就会有语法错误。

参数检查
调用函数是,如果参数个数不对,python解释器会自动检查出来,并抛出TypeError。如果参数类型不对,Python解释器无法帮助检查出来。
使用内置函数isinstance()可以对参数类型做检查。
def my_abs(x):
if not isinstance(x, (int,float)):
raise TypeError('bad operand type')
if x >= 0:
return x
else:
return -x

小结
定义函数时,需要确定函数名和参数个数;
如果有必要,可以先对参数的数据类型做检查;
函数体内部可以用return随时返回函数结果;
函数执行完毕也没有return语句时,自动 return None;
函数可以同时返回多个值,但其实就是一个元组tuple。

二、lambda表达式
python中lambda语法是唯一的,其形式为:lambda argument_list: expression
其中,argument_list是参数列表,可以有多种形式,expression是参数的表达式,且只能是单行。
lambda函数是匿名的,输入是传入到参数列表argument_list的值,输出是根据表达式expression计算得到的值。单行expression决定lambda函数只能完成非常简单的功能。
lambda x, y: xy 函数输入是x和y,输出是它们的积xy

1、将lambda函数赋值给一个变量,通过这个变量间接调用该lambda函数
2、将lambda函数赋值给其他函数,从而将其他函数用该lambda函数体换
3、将lambda函数作为其他函数的返回值,返回给调用者
4、将lambda函数作为参数传递给其他函数

上一篇下一篇

猜你喜欢

热点阅读