python中的生成器、迭代器和修饰器是深度学习框架源码中常用的语法,本文简单介绍一下它们的概念。
生成器
- 生成器就是定义一个算法或者函数,只不过它的返回值是yield,每次调用next()函数都能计算它下一个元素的值,直到抛出异常。可以理解为程序每次执行到yield的时候都会返回结果并且暂停,再次调用next()函数时就会从上次暂停的地方继续执行。
迭代器
- 生成器就是迭代器的一种,迭代器首先是可以迭代的,也就是实现了iter方法的对象,而迭代器就是既实现了iter方法又实现了next方法。如列表就是python实现的一个迭代器。
修饰器
- 修饰器的主要作用就是不改变原先代码的前提下增加额外的功能,也就是去包装另一个函数,更方便的在不对之前代码改动的前提下进行代码复用。
博主会持续更新一些深度学习相关的基础知识以及工作中遇到的问题和感悟,喜欢请关注、点赞、收藏。