美文网首页
day10-课堂总结

day10-课堂总结

作者: Oot_zhl | 来源:发表于2018-11-16 19:22 被阅读0次

1.函数的调用

过程:
回到函数声明的位置
用实参给形参赋值(传参)
执行函数体
获取返回值
回到函数调用的位置

压栈:
当调用函数的时候,系统会自动在栈区间开辟空间保存函数调用过程
中产生的数据(形参,函数中声明的变量)

2.返回值

有没有遇到return,遇到了函数的返回值就是return后面的值
没有返回值就是none
函数调用表达式的结果就是函数的返回值

def func(a:int) -> int: 对返回值进行说明

3.函数的参数

位置参数和关键字参数:位置参数要在关键字参数的前面

参数的默认值:参数名 = 值
不定长参数:*参数名; **参数名
参数类型说明:参数名:类型名
对函数的返回值进行说明 def 函数名(参数列表) -> 返回值类型:

4.匿名

函数名 = lambda 参数列表:返回值

1.变量的作用域

变量在程序中能够使用的范围

2.全局变量

在python中声明在函数或者类的外部的变量都是全局变量

作用域:从声明开始到整个py文件结束,任何位置都可以使用
(作用域:从声明开始到文件结束)

3.局部变量

声明在函数或者类的里面的变量都是局部变量

局部变量的作用域:从声明开始到函数结束,任何位置都可以使用

global关键字只能在函数中使用,作用是在函数中声明一个全局变量
语法:
global 变量名
变量名 = 值

nonlocal 关键字只能在函数中使用
当需要在局部的局部中修改局部变量的值,就使用nonlocal

语法:
nonlocal 变量名
变量名 = 值
python中,声明函数其实就是声明一个类型是function的变量
函数名就是变量名

函数名作为变量除了用来调用函数获取返回值,普通变量能做的他都能做
作为函数的参数
将函数1作为实参,传递给函数2,这儿的函数2就是一个高阶函数(实参高阶函数
变量作为函数的返回值
返回值是函数的函数,也叫高阶函数(返回高阶函数)

1.什么是迭代器(iter)

迭代器是python中的容器类的数据类型,可以同时存储多个数
取迭代器中的数据只能一个一个的取,而且取出来的数据,在迭代器就不存在了

2.迭代器中数据的来源

a.将其他序列转换成迭代器
b.使用生成式、生成器去产生数据
next(迭代器)/迭代器.next() - 取出迭代器中第一个元素(已经取出来的元素再也回不到迭代器中了)
当迭代器中没有元素了, 再去取值,会报错(stopiteration异常)
生成器就是迭代器;迭代器不一定是生成器

生成器就是带有yield关键字的函数的结果
调用带有yield关键字的函数,拿到的结果就是一个生成器。
生成器中的元素就是yield关键字后边的值

只要函数中有yield关键字,调用函数不会再执行函数体获取返回值
而是创建一个生成器

当获取生成器的元素的时候,才会执行函数的函数体,执行到yield语句为止
并且将yield后边的值作为结果返回,并且保存当前执行的位置
获取下一个元素的时候,就从上次结束的位置接着往下去执行函数,直到函数结束
或者遇到yield为止,如果遇到yield就将yield后面的值作为结果返回,并且保存当前
执行的位置,如果函数结束了,就出现stopiteration异常

生成器对应的函数,执行完成遇到yield的次数,决定了生成器能产生的数据的个数

相关文章

  • day10-课堂总结

    1.函数的调用 过程:回到函数声明的位置用实参给形参赋值(传参)执行函数体获取返回值回到函数调用的位置 压栈:当调...

  • day10-总结

    函数的返回值 a.就是返回给使用者的值b.就是return后面的值c.就是函数调用表达式的值python中每个函数...

  • Day10-总结

    01-recode 1.函数的调用 过程:回到函数声明的位置用实参给形参赋值执行函数体过去返回值回到函数调用的位置...

  • Day10-总结

    一.函数的返回值 1.什么是返回值 返回给函数调用者的值(概念) 是return后面的值(语法) 是函数调用表达式...

  • day10-函数总结

    02-变量的作用域 1.变量的作用域 变量在程序中能使用的范围 1.全局变量 声明在函数或者类的外部的变量都是全局...

  • day10-课后总结

    函数的应用 1.不定长参数 *参数名:将位置参数作为元祖的元素,参数就是一个元祖**参数名:将关键字参数,以参数名...

  • 前端学习day10-总结

    关键词: 美团登录界面: 头像 昵称 hover 一 . 如何把图片做成圆形头像 border-radius: 5...

  • 课堂总结

    这节课梁老师让我们老了一张测试卷,我基本上都是做对的。就是有一两题是不会的,然后就梁老师说过之后我就懂了

  • 课堂总结

    Http://www.imiker.com 1.Classify your handing issues 2. M...

  • 课堂总结

    在今天,我们又扮演了小老师的角色,开始讲自已组的题目。 时间慢慢地走远,可不知什么时候,老师让我朋友去讲7的倍数特...

网友评论

      本文标题:day10-课堂总结

      本文链接:https://www.haomeiwen.com/subject/lecvfqtx.html