首页 > 编程语言 >python之装饰器使用场景

python之装饰器使用场景

时间:2024-01-25 17:45:47浏览次数:38  
标签:场景 python welcome time print home logger 装饰 def

1.用户登录认证

  • 有三个界面需要登录认证通过后才能查看
  • 一个登录函数作为装饰器
  • 调用使用@函数名
  • 调用中如果加参数,则装饰器需要再加一层
 1 def login(func):
 2     def desc(*args,**kwargs):
 3         user='test'
 4         passwd ='123456'
 5         n=0
 6         if n<=3:
 7             for i in range(3):
 8                 user_input=input('用户名')
 9                 passwd_input=input('密码')
10                 if user_input==user and passwd_input==passwd:
11                     func(*args,**kwargs)
12                     break
13                 else:
14                     print('输入错误,请重新输入')
15                     n+=1
16     return desc
17 
18 @login
19 def home():
20     print('welcome to home')
21 @login
22 def product():
23     print('welcome to product')
24 @login
25 def solution():
26     print('welcome to solution')
27 
28 home()
29 product()
30 solution()
View Code

2.日志操作时间

  • 在三个界面记录操作时间
  • 使用logger日志
 1 def logger(func):
 2     '''日志装饰器'''
 3     def desc(*args,**kwargs):
 4         start_time=time.time()
 5         func()
 6         end_time=time.time()
 7         print('操作了%s时间'%(end_time-start_time))
 8     return desc
 9 @logger
10 def home(*args,**kwargs):
11     time.sleep(2)
12     print('welcome to home')
13 @logger
14 def product():
15     time.sleep(2)
16     print('welcome to product')
17 @logger
18 def solution():
19     time.sleep(2)
20     print('welcome to solution')
21 
22 home()
23 product()
24 solution()
View Code

标签:场景,python,welcome,time,print,home,logger,装饰,def
From: https://www.cnblogs.com/Little-Girl/p/17987765

相关文章

  • 详解ElasticSearch Python Client ReadTimeout
    详解ElasticSearchPythonClientReadTimeout在使用Python连接Elasticsearch时,我们经常会遇到一些异常情况,其中之一就是ReadTimeout错误。本文将详细介绍这个错误的原因以及如何处理。什么是ReadTimeout错误?ReadTimeout错误通常是由Elasticsearch连接超时引起的。当在与Elasticsea......
  • JAVA调用Python脚本执行
    SpringBoot-web环境<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>springboot--启动类@SpringBootApplication(ex......
  • python代码
    #读取.mat文件mat_data=scipy.io.loadmat('C.mat')#获取矩阵数据adj_matrix=mat_data['C']一个简短的python代码:alph=['A','B','C','D','E','F','G','H','I','J......
  • Python基础语法:代码规范、判断语句与循环语句
    Python是一种高级、动态类型的编程语言,其语法清晰、简洁,易于学习。本文将介绍Python基础语法中的代码规范、判断语句和循环语句。一、代码规范良好的代码规范可以提高代码的可读性和可维护性。在Python中,有一些常见的代码规范建议:使用有意义的变量名。变量名应该清晰地描述变量的用......
  • 多快好省| 4 条策略完美化解 BI 场景的敏感数据保护难题
    超过2000人每天取数、用数查看报表BI平台原生的权限控制和脱敏难以有效落地敏感数据基本处于“裸奔”状态4条策略如何实现有效保护?项目背景金融消费者个人信息保护与数据安全风险排查成为近年来金融监管机构的检查重点之一。G保险企业开展数据安全治理自查,已逐步完成了数据分类分......
  • Python语言的优缺点详解!
    人人都知道,Python是一门高级的编程语言,涉及领域广泛,应用范围多,薪资待遇也是非常不错的,那么Python有哪些优缺点,你了解吗?接下来老男孩教育为大家汇总介绍一下。Python语言的优点介绍:1、简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序好像阅读英文一......
  • python之实现文件增删改查操作
    实现文件增删改查操作         1.写入文件'''以w形式打开文件,写入记录'''1#!/usr/bin/python2withopen('test','w',encoding='utf-8')asf:3'''插入数据'''4f.writelines('......
  • 【Python爬虫】爬虫基础
    爬虫是什么爬虫介绍爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据支撑。搜索引擎通过网络爬虫技术,将互联网中丰富的网页信息保存到本地,形成镜像备份。我们熟悉的谷歌、百度本质上也可理解为一种......
  • python自动匹配文本
    在数据驱动的世界里,文本处理已经成为Python的一项至关重要的能力。Python以其强大的库支持,从简单的字符串搜索到复杂的模式匹配。本文将逐一展示如何使用Python进行有效的文本匹配。正则表达式说到文本匹配,正则表达是一个锋利的工具。Python内置的re模块就是为了这个目的而诞生......
  • python 翻页功能
    python翻页功能在django框架下使用fromdjango.core.paginatorimportPaginator#数据集合data=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]per_datas=5#每页显示的数量#创建Paginator对象paginator=Paginator(data,per_datas)#获取......