美文网首页
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-课堂总结

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