昨日回顾

可变长参数

*

*形参:接受多余的位置实参

*实参(可迭代数据类型):打散可迭代数据类型

**

**形参:接受多余的关键字实参

**实参:打散字典.当作关键字实参传参

函数对象

  1. 引用
  2. 作为容器类元素
  3. 作为函数返回值
  4. 作为函数参数

函数嵌套

名称空间和作用域

  1. 内置名称空间:内置方法
  2. 全局名称空间:除了内置和局部就是全局
  3. 局部名称空间:函数内部的变量和函数

执行顺序:内置>全局>局部

搜索顺序:从当前位置开始 局部>全局>内置

全局作用域和局部作用域没有半毛钱关系

两个局部作用域之间也没有关系

今日内容

闭包函数

闭包函数把 闭包函数内部的变量+闭包函数内部的函数两者包裹在一起,然后通过返回值返回出去

装饰器

给函数增加功能的函数

原则:

  1. 不改变源代码
  2. 不改变调用方式
  3. 装饰器本质就是函数
def index():
    '''被装饰的函数'''
    print('index')

语法糖

装饰器必须放在被装饰函数的前面

装饰器模板

def deco(func):
    def wrapper(*args,**kwargs):
        #功能
        res = func(*args,**kwargs)
        return res
    return wrapper

三层装饰器,添加额外的判断参数

迭代器

  • 可迭代对象:具有__iter__方法

    除了数字类型和函数外都是可迭代对象

  • 迭代器对象:含有__iter____next__方法

    只有文件是迭代器对象

迭代器对象一定是可迭代对象,可迭代对象不一定是迭代器对象

最新文章

  1. html5的web存储
  2. Python—使用__slots__限制实例的属性
  3. Nancy Scripts,CSS文件夹配置
  4. django学习<二>:连接数据库
  5. [转]CodeSmith和PowerDesigner的使用安装和数据库创建
  6. RNN 与 LSTM 的应用
  7. [itint5]棋盘漫步
  8. AV 地址错误 map 文件 根据地址报错,查 Delphi 代码
  9. [转]java开发环境搭建
  10. CSS3学习系列之背景相关样式(二)
  11. Cocos2D绘制纹理的一般方法
  12. 聊聊HTML
  13. Spring Boot 2.x 快速入门(上)HelloWorld示例
  14. DevExpress WinForms使用教程:Diagram Control
  15. Python基础之公共方法
  16. ./configure、make、make install 命令
  17. Hibernate left join
  18. OpenERP 中国财务模块 调整
  19. PCI 设备详解三
  20. .NET直接编译成本地代码:.NET Native架构简介

热门文章

  1. 【Django】ModelForm
  2. JavaScript总结(一)
  3. ubuntu13启动屏幕亮度0解决方法
  4. Mycat 配置文件rule.xml
  5. MongoDB的全文索引
  6. 冒泡排序--JavaScript描述
  7. ELK 学习笔记之 elasticsearch环境搭建
  8. Android中内存泄露与如何有效避免OOM总结
  9. MySQL日期和时间类型笔记
  10. Spring Cloud Feign 性能优化