Python中的装饰器 Decorators的使用方法
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇文章给大家分享的是有关Python中的装饰器 Decorators的使用方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。pytho
千家信息网最后更新 2025年02月03日Python中的装饰器 Decorators的使用方法
本篇文章给大家分享的是有关Python中的装饰器 Decorators的使用方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
python的五大特点是什么
python的五大特点:
1.简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。
2.面向对象,与其他主要的语言如C++和Java相比, Python以一种非常强大又简单的方式实现面向对象编程。
3.可移植性,Python程序无需修改就可以在各种平台上运行。
4.解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。
5.开源,Python是 FLOSS(自由/开放源码软件)之一。
def my_logging(func):
def wrapper():
print('logging - {} is running'.format(func.__name__))
func() # run func() Equivalent run f1()
return wrapper
def bold(func):
def wrapper():
print("")
func()
print("")
return wrapper
def italic(func):
def wrapper():
print("")
func()
print("")
return wrapper
@my_logging
@bold
@italic
def f1():
print("f1")
f1()
其实上面这段 code 也相当这样的
def my_logging(func):
def wrapper():
print('logging - {} is running'.format(func.__name__))
func() # run func() Equivalent run f1()
return wrapper
def bold(func):
def wrapper():
print("")
func()
print("")
return wrapper
def italic(func):
def wrapper():
print("")
func()
print("")
return wrapper
def f1():
print("f1")
f1 = my_logging(bold(italic(f1)))
f1()
这边只需要稍微注意一下执行的顺序????,刚刚的 f1() 是没有带入参数的,今天假如我希望带入参数呢?
def my_logging(func):
def wrapper(*args, **kwargs):
print('logging - {} is running'.format(func.__name__))
func(*args, **kwargs)
return wrapper
@my_logging
def f1(*args, **kwargs):
print("f1")
for thing in args:
print('hello {}'.format(thing))
for name, value in kwargs.items():
print('{0} = {1}'.format(name, value))
f1('twtrubiks', apple='fruit', cabbage='vegetable')
使用 *args **kwargs 这样写的话,不管 f1() 带入什麽参数都不用担心????。装饰器还有更大的弹性,像是今天如果我希望将装饰器带入参数。
def my_logging(level):
def decorator(func):
def wrapper(*args, **kwargs):
if level == "1":
print('level {} logging - {} is running'.format(level, func.__name__))
elif level == "2":
print('level {} logging - {} is running'.format(level, func.__name__))
func(*args, **kwargs)
return wrapper
return decorator
@my_logging(level="1")
def f1(*args, **kwargs):
print("f1")
for thing in args:
print('hello {}'.format(thing))
for name, value in kwargs.items():
print('{0} = {1}'.format(name, value))
f1('twtrubiks', apple='fruit', cabbage='vegetable')
这边简单说明,就是为了要将装饰器带入参数,我们必须再包一层。
以上就是Python中的装饰器 Decorators的使用方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
参数
程序
语言
使用方法
方法
对象
就是
更多
特点
知识
篇文章
运行
实用
强大
自由
不用
二进制
代码
工作会
平台
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
拓普互联网络科技有限公司
2019年度网络安全事件
华为网络技术大赛免业务面
国家网络安全宣传官
站群云服务器
北京it软件开发
网络安全专业有什么用
软件开发的销售过程管理
出具相关的网络安全证书
互联网科技下的新就业形态
深圳市万嘉网络技术有限公司
4399游戏服务器是渠道服吗
java如何导入服务器上文件
重生之之互联网科技帝国
现在网络技术的方便英文
网络技术员年终工作总
网络技术承包合同
个人电脑网络安全知识
长沙企业软件开发代码
图数据库建模算法
软件开发专业毕业论文选题
获取dns服务器地址
计算机网络安全 视频
青少年网络安全家长意见建议
怀旧服服务器盗贼怎么赚钱
深度学习免费gpu服务器
三级网络技术需要学多长时间
ABSOLUTE 数据库
sql数据库写性能
互联网科技资讯榜