day11 Pyhton学习

一.昨日内容回顾

  函数的进阶

    动态传参

      *args : 位置参数的动态传参 

      **kwargs: 关键字参数的动态传参

      形参:聚合

      实参:打散

      

      顺序:位置参数>*args >默认值 >**kwargs 

    作用域和名称空间

      全局作用域:内置+全局

      局部作用域:局部

      

      locals() 查看当前作用域中的名字

      globals() 查看全局作用域中的名字

      

    global  把全局的内容引入到局部

    nonlocal  在局部,把上一层的变量引入进内部,如果上一层没有,继续上一层

二.今日主要内容

  1.第一类对象,,函数名的使用

    函数名就是变量名,函数名存储的是函数的内存地址

    

    变量的命名规范:

       1.由数字,字母,下划线组成

       2.不能是数字开头,更不能是纯数字

       3.不能用关键字

       4.不要太长

       5.要有意义

       6.不要用中文

       7.区分大小写

       8.驼峰或者下划线

  2.闭包

    闭包:在内层函数中引入外层函数的变量

    作用:

      1.保护变量不受侵害(javascript)

      2.让一个变量常驻内村

  3.迭代器

    dir() 查看变量能够知执行的方法(函数)

    Iterator:迭代器,  __iter__(),__next__()

    Iterable:可迭代的,  __iter__()

    

    for 循环的流程:

    it = lst.__iter__()

    while 1:

      try:

        el = it.__next()__()

        for循环的循环体

      except StopIteration:

        break

    从迭代器中获取数据的唯一方法:__next__()

    

    三个特征:

      1.省内存

      2.惰性机制

      3.只能往前,不能后退

     

原文地址:https://www.cnblogs.com/pythonz/p/9883887.html