函数的参数传递
参数定义与传递的基本顺序:位置参数->关键字参数->可变数量参数
一、位置参数
调用函数时根据函数定义的参数位置来传递参数。
二、关键字参数
用于函数调用,通过“键-值”形式加以指定。可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求。
三、可变数量参数
四、多参数
注意:不能给一个参数重复赋值
函数文档
函数定义语法:
def 函数名([参数列表]):
'''注释'''
函数体
lambda匿名函数
- lambda函数是一种匿名函数,即没有名字的函数
- 使用lambda保留字定义,函数名是返回结果
- lambda函数用于帝国以简单的、能够在一行内表示的函数
注:lambda表达式只可以包含一个表达式,不允许包含复合语句
<函数名> = lambda <参数>: <表达式>
***********等价于***********
def <函数名>(<参数>):
<函数体>
return <返回值>
复杂函数
注:红框里为介绍函数
- enumerate(iterable, start=0)
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。sequence:一个序列、迭代器、其他支持迭代对象。start:下表起始位置
- filter(function, iterable)
用于过滤序列,过滤掉不符合条件的元素,返回有符合元素组成的新列表。接收2个参数,第一个为函数(只能接收1个参数),第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回True或False。
- map(function, iterable, …)
根据提供的函数对指定序列做映射。第一个参数function以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的新列表。
- range(start, stop[, step])
返回的是一个可迭代对象(类型是对象),而不是列表类型,所以打印的时候不会打印列表。start:默认从0开始;stop:到stop结束,但是不包含stop;step:步长,默认为1。
- *zip(iterables)
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,之后返回由这些元组组成的列表。利用*操作符可以将元组解压为列表。
zip(seq[,seq,…]):zip()函数可把两个或多个序列中的相应项合并在一起,并以元组的格式返回,在处理完最短序列后的所有项后就停止。