函数的调用
>>> def MyFirstFunction():
print('这是我创建的第一个函数')
print('我感觉很开心')
>>> MyFirstFunction
<function MyFirstFunction at 0x0000021ED6188048>
>>> MyFirstFunction()
这是我创建的第一个函数
我感觉很开心
>>> def MySecondFunction(name):
print(name+'你最好看!')
MySecondFunction('小明')
小明你最好看!
>>> def add(num1,num2):
result=num1+num2
print(result)
>>> add(1,3)
4
函数的返回值
>>> def add(num1,num2):
return num1+num2
>>> add(3,4)
7
形参和实参
函数文档
关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
默认参数:
调用函数时,默认参数的值如果没有传入,则被认为是默认值。
收集参数(不定长参数)
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数
函数与过程
Python严格来说只有函数没有过程
变量返回多个值
全局变量和局部变量
内嵌函数
闭包
lambda函数
python 使用 lambda 来创建匿名函数。
• lambda只是一个表达式,函数体比def简单很多。
• lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
• lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
• 虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
python写一些执行脚本时,使用lambda就可以省下定义函数过程,比如说我们只是需要写个简单的脚本来管理服务器时间,我们就不需要专门定义一个函数然后再写调用,使用lambda就可以使得代码更加精简
对于一些比较抽象并且整个程序执行下来只需要调用一两次的函数,有时候给函数起个名字也是比较头疼的问题,使用lambda就不需要考虑命名的问题了
两个比较牛逼的bif
(Built-in Functions,即内置函数)
== 1、filter()==
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
2、map() ,映射
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。