,装饰器的美妙之处在于它们非常易于应用,为你的代码提供了许多额外的功能。在本文中,我将介绍 5 个方便的装饰器,你可以轻松地将它们应用于调试代码时遇到的实际问题。,在我们开始之前:你知道你也可以让装饰器跟踪状态吗?示例:计算调用函数的次数,以便你可以对其进行速率限制。请务必阅读: 以了解装饰器的工作原理、如何应用它们以及何时使用装饰器。,让我们从简单的开始;我们将从一个装饰器开始,它打印出我们的函数运行所花费的时间。这是代码:,请注意,我们的装饰器本身是用@wraps(func) 包裹的。这是为了确保我们传递我们的包装函数。如果我们不这样做wrapper.__name__,只会打印 ‘wrapper’ 而不是我们实际装饰的函数。我将在计算素数的函数上使用这个装饰器:,现在我们调用函数看看输出:,,我们还是用计算素数的函数上使用这个装饰器:,我们调用素数函数来看看输出:,,现在调用 sayhello() 将产生以下输出,这个装饰器可以很好地用于执行几次,例如测量函数的性能。,,我们能够在装饰器上设置提示消息。当我们调用sayhello()时,会看到Sure? Press y to continue, press n to stop.如果输入 ‘y’ 那么我们将执行sayhello(),任何其他输入(包括没有输入将阻止sayhello()执行)。,,现在,当我们调用trycatchExample(9, 3)函数时返回3.0。如果我们调用trycatchExample(9, 0)(除以 0),它会正确返回以下内容Exception in trycatchExample: division by zero,,我建议仅将此装饰器用于调试代码,并更准确地捕获函数中的错误。,通过这篇文章,我希望能够提供更多关于装饰器带来的优势的信息。如果我启发了你,请分享你自己的一些方便的装饰器。,本文转载自微信公众号「树哥会编程」,可以通过以下二维码关注。转载本文请联系树哥会编程公众号。,
文章版权声明
1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/18272.html
2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈
3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)
4 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别