Python学习100天(从入门到精通系列文章)文章目录Python学习100天(从入门到精通系列文章)前言一、装饰器1.1 什么是装饰器1.2 装饰器的应用场景1.3 装饰器的基本结构1.4 实现计时装饰器1.5 使用装饰器的两种方式1.6 使用 functools.wraps 保留函数元信息二、递归调用2.1 什么是递归调用2.2 递归求阶乘2.3 递归的栈机制与注意事项2.4 递归求斐波那契数列2.5 使用 lru_cache 优化递归总结前言在前一个章节中,我们探索了 Python 中的高阶函数,相信大家对函数的定义和应用有了更深刻的认知。本章我们继续深入函数相关的知识,一个是 Python 中的特色语法——装饰器,一个是函数的递归调用。掌握这两个知识点,你的 Python 编程能力将再上一个台阶。一、装饰器1.1 什么是装饰器Python 语言中,装饰器是"用一个函数装饰另外一个函数并为其提供额外的能力"的语法现象。装饰器本身是一个函数,它的参数是被装饰的函数,它的返回值是一个带有装饰功能的函数。通过前面的描述,相信大家已经听出来了,装饰器是一个高阶函数,它的参数和返回值都是函数。但是,装饰器的概念对编程语言的初学者来说,还是让人头疼的,下面我们先通过一个简单的例子来说明装饰器的作用。假设有名为download和upload的两个函数,分别用于文件的下载和上传,如下所示。importrandomimporttimedefdownload