函数深入

返回值函数

一个函数除来可以完成一定功能之外,还可以按需要返回一些内容

函数中使用 return 关键字来指定返回数据,可以返回任意类型的数据

函数的返回值,会把数据返回到调用处,可以使用变量接收,或其它处理

变量作用域

全局变量:在函数内外都可以使用的变量
在函数内部使用 global 直接定义的变量,就是全局变量,函数内外都可以使用
在函数外定义的变量,在函数内使用 global 关键字进行声明,那么也是全局变量
在函数外定义的变量,函数可以访问,但是不能更改
局部变量:在函数内部可以使用的变量
函数内定义的变量,局部变量,在函数外不能使用

nonlocal

在内函数中如何使用上一层函数中的局部变量?

在内函数中如果想使用外层函数的变量,那么需要使用 nonlocal 关键字 引用
可以引用上一层函数中定义的局部变量,但依然不能提升为全局变量

高阶函数

递归函数

递归函数就是定义了一个函数,然后在函数内,自己调用了自己这个函数

递归函数内必须要有结束,不然就会一只调用下去,直到调用的层数越来越多,栈溢出
递归函数是一层一层的进入,再一层一层的返回

回调函数

如果在一个函数中要求传递的参数是一个函数作为参数,并且在函数中使用了传递进来的函数,那么这个函数我们就可以称为是一个回调函数

匿名函数 lambda 表达式

匿名函数的意思就是说可以不使用def定义,并且这个函数也有没有名字
在python中可以使用lambda表达式来定义匿名函数。

注意:lambda表达式仅仅是一个表达式,不是一个代码块,所以lambda又称为一行代码的函数
lambda表达式也有行参,并且不能访问除了自己的行参之外的任何数据包括全局变量

**

迭代器

迭代器是python中最具特色的功能之一,是访问集合元素的一种方式

迭代器是一个可以记住访问遍历的位置的对象

从集合的第一个元素开始访问,直到集合中的所有元素被访问完毕

迭代器只能从前往后一个一个的便利,不能后退

能被next()函数调用,并不断返回下一个值的对象称为迭代器(Iterator 迭代器对象)

迭代器的取值方案

  1. next() 调用一次获取一次,直到数据被取完
  2. list() 使用list函数直接取出迭代器中的所有数据
  3. for 使用for循环遍历迭代器的数据


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值