当前位置: 首页 > news >正文

dw做网站如何让用户可编辑上海建设网站找哪家

dw做网站如何让用户可编辑,上海建设网站找哪家,沈阳网站建设聚艺科技,资讯门户类网站模板知识点回顾: 装饰器的思想:进一步复用函数的装饰器写法注意内部函数的返回值 作业: 编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值) 装饰器函数 import time# 定义一个装饰器 …

知识点回顾:

  1. 装饰器的思想:进一步复用
  2. 函数的装饰器写法
  3. 注意内部函数的返回值

作业:

编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)

装饰器函数

import time# 定义一个装饰器
def display_time(func):def wrapper(): # 定义一个内部函数,在装饰器中wrapper函数是一个常用的函数名,并非强制,约定俗成的start_time = time.time()func()  # 直接调用原函数(无参数),这里的func()是指装饰器需要修饰的函数,在这里是prime_nums()end_time = time.time()print(f"执行时间: {end_time - start_time} 秒")return wrapper # return wrapper是返回函数对象,如果是return wrapper()则是立即执行wrapper函数

装饰器的本质是个高阶函数,它接收一个函数作为参数,并返回新函数来替代原函数。这个新函数需要:1.保留原函数的调用方式(参数和返回值)。  2.在原函数执行前后添加额外逻辑(如计时、日志等)。因此,我们需要在装饰器内部定义一个新函数来实现这些功能。

# 继续定义判断质数的函数
def is_prime(num):"""判断一个数是否为素数"""if num < 2:return Falseelif num == 2:return Trueelse:for i in range(2, num):if num % i == 0:return Falsereturn True# 装饰器的标准写法
@display_time
def prime_nums(): # 这2行是一个整体"""找出2到10000之间的所有素数并打印"""for i in range(2, 10000):if is_prime(i):print(i)prime_nums()
# 执行时间每次都会变,但是变动不大,一般计算稳定的执行时间我们都是重复1000遍,然后取平均

装饰器的执行流程为:
1.定义装饰器函数 display_time:它接收一个函数 func 作为参数,并返回 wrapper 函数。
2.定义被装饰函数 prime nums:此时 prime nums 是一个普通函数对象。
3.应用装饰器:Python自动将 prime_nums 作为参数传递给 display_time,即执行 display_time(prime_nums)。
4.替换原函数:display_time 返回 wrapper 函数,Python 用这个新函数覆盖了原来的 prime_nums 。

进一步拓展装饰器实现复用

import timedef display_time(func):"""支持任意参数的时间统计装饰器"""def wrapper(*args, **kwargs):  # 接收任意数量的位置参数和关键字参数t1 = time.time()result = func(*args, **kwargs)  # 将参数传递给原函数,注意之前的无参数写法和现在不同t2 = time.time()print(f"函数执行时间: {t2 - t1} 秒")return result  # 返回原函数的返回值return wrapper@display_time
def add(a, b):return a + badd(3, 5)  # 正常接收参数并计算

作业:装饰器logger

# 作业答案def logger(func):def wrapper(*args, **kwargs):  # args 是元组,kwargs 是字典print(f"开始执行函数 {func.__name__},参数: {args}, {kwargs}")result = func(*args, **kwargs)print(f"函数 {func.__name__} 执行完毕,返回值: {result}")return resultreturn wrapper@logger
def multiply(a, b):return a * b multiply(2, 3)  # 调用 multiply 函数,观察日志输出

@浙大疏锦行

http://www.dtcms.com/a/600352.html

相关文章:

  • 国内网站制作特点WORDPRESS自定义加载不出来
  • 淄博手机网站开发公司2023年营业执照年检申报
  • 做侵权视频网站wordpress 浮动 插件
  • 怎么看网站pv做旅游攻略的网站代码
  • 南阳商都网站做网站网上做效果图网站
  • 自己建网站有什么好处三七游戏官网
  • 大连网站搜索优建设网站之前都需要准备什么东西
  • 武安网站制作义乌 网站建设推广营销
  • wordpress 图片网站筑人才官网
  • 创建公司网站过程wordpress云标签
  • 江苏做网站的公司网站建设用的工具
  • 房屋设计网站推荐做影视网站
  • 大型网站开发企业建网站怎么年赚
  • 汉中做网站的公司电话自己做ppt网站
  • 企业网站模板中文 产品列表WordPress中菜单变色
  • 湛江网站建设模板定位工厂主流网站关键词排名
  • 网站备案号什么情况下被注销杭州企业网站制作公司
  • 做暖暖小视频免费网站汝州市建设局网站
  • 中山网站建设哪家好怎么办一个网站
  • 恩施建设网站浅析企业网络营销推广方法
  • 海外网站cdn加速下载网站做搜索关键字好吗
  • 泰州外贸网站建设wordpress菜单栏
  • 怎样做网站的反链wordpress+minty
  • 如何建立像百度一样的网站深圳网站优化培训
  • 万网域名跳转到指定网站正能量软件不良网站免费入口
  • 嘉兴网站推广平台湖南网站建设的公司
  • 企业展示网站开发网页开发背景怎么写
  • 手机建站平台哪个便宜广州十大软件公司排名
  • 宁波自适应网站建设优化建站wordpress结构
  • 系统之家网站怎么做的版权WordPress