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

做破解软件网站赚广告费个人如何做网络推广

做破解软件网站赚广告费,个人如何做网络推广,网站建设 全是乱码,新手做网站遇到的问题以及解决方案装饰器(Decorator)本质上是一个返回函数的函数 主要作用是:在不修改原函数代码的前提下,给函数增加额外的功能 比如:增加业务,日志记录、权限验证、执行时间统计、缓存等场景 my_decorator def func():pas…

装饰器(Decorator)本质上是一个返回函数的函数
主要作用是:在不修改原函数代码的前提下,给函数增加额外的功能
比如:增加业务,日志记录、权限验证、执行时间统计、缓存等场景

@my_decorator
def func():pass# 等价于:
def func():pass
func = my_decorator(func)

1、闭包

def outer(x):def inner(y):return x + yreturn inneradd5 = outer(5)
print(add5(3))  # 输出 8

闭包(Closure)指一个函数定义在另一个函数内部,并且这个内部函数引用了外部函数的变量。即使外部函数已经返回了,内部函数依然**“记住”**并可以访问这些变量
就如这里的x

功能
  • 保存函数执行时的“上下文”;

  • 用于延迟计算或构造回调函数;

  • 实现数据隐藏(类似于面向对象中的私有变量);

  • 替代某些简单场景中的类。

2、装饰器基础

装饰器本质上就是闭包的一种应用,用于在不修改函数源代码的情况下增强函数功能


def decorator(func):def wrapper(*args, **kwargs):start_time = time.time()result = func(*args, **kwargs)stop_time = time.time()print(f'running_time is {stop_time - start_time}')return resultreturn wrapper@decorator   # double=decorator(double)
def double(x):time.sleep(1) # 模拟耗时return x*2
double(10)

这里在原本的基础上增加了(统计函数执行时间)功能

3、保留函数元数据

使用装饰器后
装饰器会覆盖原函数的元数据
在这里插入图片描述
使用functools.wraps装饰内层函数可保留原函数元数据

import functools
import time# 装饰器outer
def decorator(func):@functools.wraps(func)def wrapper(*args, **kwargs):'''这里是wrapper的注释'''start_time = time.time()result = func(*args, **kwargs)stop_time = time.time()print(f'running_time is {stop_time - start_time}')return resultreturn wrapper
@decorator   # double=decorator(double)
def double(x):'''这里是doubled的注释'''time.sleep(1) # 模拟耗时return x*2
double(10)
print(double.__name__)
print(double.__doc__)

在这里插入图片描述

4、带参数的装饰器

需要使用三层函数来实现。最外层函数接收装饰器参数,中间层函数接收原函数,最内层函数完成对原函数的调用以及附加功能。

def timer(time_consume):def decorator(func):@functools.wraps(func)def wrapper(*args, **kwargs):start_time = time.time()result = func(*args, **kwargs)stop_time = time.time()if (stop_time - start_time>time_consume):print(f'running is {stop_time - start_time}')print(f'{func.__name__} is longer')return resultreturn wrapperreturn decorator
@timer(0.8)   # double=timer(0.8)(double)
def double(x):time.sleep(1) # 模拟耗时return x*2
double(10)
http://www.dtcms.com/wzjs/405765.html

相关文章:

  • 广东手机网站建设价格西安市网站
  • 网建网站百度小说风云排行榜
  • 网络营销推广活动方案网络建站优化科技
  • 设计网站推荐国内软文文案案例
  • 网站怎么做dwcs6学校教育培训机构
  • ps临摹网站东莞今日新闻大事
  • 上海浦东建筑建设网站易推客app拉新平台
  • 建设一个商城网站大概多少钱今日刚刚发生的国际新闻
  • 网站及数据库怎么做后门黄山seo推广
  • 帮卖驾驶证的做网站b站黄页推广
  • 电子商务网站免费模板中国进入一级战备2023
  • 昆山网站建设公司苏州爬虫科技网络营销的主要手段
  • 广告发布需要许可证吗seo广告平台
  • 郴州seo免费检测网站seo
  • 营销型网站模版口碑营销的方法
  • 免费网站建设排行榜互联网营销的五个手段
  • 做网站用的笔记本配置免费查权重工具
  • 女频做的最好的网站怎样让自己的网站排名靠前
  • 成品网站是什么网站关键词全国各地的排名情况
  • 软件工程考研方向短视频seo排名加盟
  • 网站备案全国合作拍照点 腾讯云西安网站建设公司排名
  • 营销网站建设品牌企业淄博网站制作优化
  • 网站树状型结构优化武汉大学人民医院洪山院区
  • 动态网页设计总结杭州seo技术培训
  • 中小企业建站实战北京百度网讯人工客服电话
  • 个人网站 bootstrap今日新闻快报
  • 购物手机网站怎么做东莞头条最新新闻
  • 广州微网站建设信息大数据查询官网
  • 服装型网站开发如何创建网站教程
  • 做电商网站赚钱吗成都网站推广哪家专业