python学习之路-装饰器的使用

简介: 开发者学堂课程,了解Python语言的基本特性、编程环境的搭建、语法基础、算法基础等,了解Python的基本数据结构,对Python的网络编程与Web开发技术具备初步的知识,了解常用开发框架的基本特性,以及Python爬虫的基础知识。课程地址:https://developer.aliyun.com/learning/course/601/detail/8739

一、装饰器的简介

可以在不修改原函数的情况下扩展旧函数得到新函数

二、装饰器的使用方法

1.在不修改原函数的情况下,来对函数进行扩

defadd(a,b):
f=a+breturnfdefnew_add(a,b):
print('计算开始。。。')
r=add(a,b)
print('计算结束。。。')
returnrr=new_add(111,222)
print(r)

image.png

上边的方式,已经可以在不修改源代码的情况下对函数进行扩展了

但是这种方式要求我们每扩展一个函数就要手动创建一个新函数。

 

2.为了解决这个问题,我们创建一个函数,让这个函数可以自动的帮助我们生产函数,我们需要的是一个新函数可以对旧函数进行扩展

defadd(a,b):
f=a+breturnfdefnul(a,b):
f=a*breturnfdeffn():
return'这里是fn函数'defbegin_end(old):
'''       用来对其他函数进行扩展,使其他函数可以在执行前打印开始打印,       执行后打印结束打印       参数:old 要扩展的函数对象    '''# 创建一个新函数defnew_function(*args , **kwargs):
print('开始执行')
# 调用被扩展的函数result=old(*args , **kwargs)
print('执行结束')
returnresult# 返回新函数returnnew_functionf=begin_end(fn)
f2=begin_end(add)
print(f())
print(f2(1,2))

image.png

三、装饰器的好处

1.可以修改多个函数

2.方便后期的维护

3.不违反开闭原则(OCP)

相关文章
|
7天前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
194 101
|
14天前
|
缓存 测试技术 Python
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
163 99
|
14天前
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
143 98
|
18天前
|
缓存 Python
Python中的装饰器:优雅地增强函数功能
Python中的装饰器:优雅地增强函数功能
|
28天前
|
存储 缓存 测试技术
理解Python装饰器:简化代码的强大工具
理解Python装饰器:简化代码的强大工具
|
2月前
|
程序员 测试技术 开发者
Python装饰器:简化代码的强大工具
Python装饰器:简化代码的强大工具
159 92
|
7天前
|
缓存 测试技术 Python
解锁Python超能力:深入理解装饰器
解锁Python超能力:深入理解装饰器
52 2
|
8天前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
4月前
|
Python
掌握Python装饰器:轻松统计函数执行时间
掌握Python装饰器:轻松统计函数执行时间
283 76

热门文章

最新文章

推荐镜像

更多