加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

三言两语我就能带你学会Python的装饰器!是不是不信?打个赌吧!

发布时间:2020-12-17 00:39:22 所属栏目:Python 来源:网络整理
导读:在这篇文章中,我们将介绍一下Python中的装饰器。 我们将尝试解决以下问题: 装饰器是什么? 为什么需要它们? 它们什么时候有用? 首先,装饰器是什么? 从我的理解,简单地说:装饰器是将另一个函数作为输入并修改/扩展其功能的函数。 可能有人会好奇,怎

在这篇文章中,我们将介绍一下Python中的装饰器。

我们将尝试解决以下问题:

装饰器是什么?

为什么需要它们?

它们什么时候有用?

首先,装饰器是什么?

从我的理解,简单地说:装饰器是将另一个函数作为输入并修改/扩展其功能的函数。

可能有人会好奇,怎么会有以函数为输入的函数?

其实,在Python中,一切都是对象(Classes也是如此),所以我们可以传递一个函数作为参数。

那么把另一个函数作为参数的函数是什么?是高阶函数。

我们来看一个例子,让我们写一个简单的装饰器:

我们做了什么?

我们定义了一个简单的函数并用另一个函数装饰它。

您可能想知道,为什么要引入新功能?为什么不改变实际功能呢?

要回答这个问题,让我们来看另一个问题。

假设您正在使用网站,如果未登录账号,则不需要再继续。

现在,一种方法是对需要检查 “用户是否已登录?”的每个函数,逐个检查和修改这些函数。

问题是这可能是每个函数内部耗时且重复的代码块。

针对这类问题比较好的解决办法就是需要我们使用装饰器,使用装饰器可以达到相反的效果。

如果我们编写一个装饰器并将其插入需要检查用户是否登录的每个函数的顶部,它将使得代码显得简洁而无重复,并且节省开发时间。

这将引导我们回答我们剩下的两个问题为何以及何时需要它们?

大多数时间装饰器用于我们想要以相同方式改变/扩展许多函数的地方。

我在工作中使用过的一个例子是用户登录检查。

你知道其他任何用例吗?请在评论中告诉我们。

学会了吗?进群:548377875???即可获取数十套PDF以及大量的学习资料哦!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读