Python中的装饰器 Decorators的使用方法
发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,本篇文章给大家分享的是有关Python中的装饰器 Decorators的使用方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。pytho
千家信息网最后更新 2024年11月15日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安全错误
数据库的锁怎样保障安全
数据库接口如何对接
速达无法连接数据库是什么意思
中科方德服务器关闭防火墙
没有域管理服务器如何清除域
红极广州互联网科技有限公司
ecology服务器配置
网络技术是哪里的
dellr840服务器价格
南京参考软件开发一体化
武汉市职业技能网络安全大赛
pdms是什么数据库
如何实现软路由发射服务器ip
怎么查看数据库实例名
黑窗口进数据库
苏州软件开发net招聘
碧橙网络技术有限公司环境
数据库人员组织方案
云帮手服务器管理
乐橙提示无法检测网络安全配置
郧西互联网软件开发学习
生物信息租服务器
惠普服务器一般管理地址
软件开发增量模型6
互联网科技新零售
定制服务器销售
美军网络安全建设
网络技术课程包括哪些内容
win2003服务器系统
浙江激光套料软件开发商
关系数据库是什么表什么的集合