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

建公司网站的公司重庆营销型网站开发

建公司网站的公司,重庆营销型网站开发,做网站需要专业,云计算运维工程师装饰器: 不修改被装饰对象的源代码,也不修改调用方式的前提下,给被装饰对象添加新的功能 原则:开放封闭原则 开放:对扩展功能(增加功能开放),扩展功能的意思是在源代码不做任何改变…

装饰器: 不修改被装饰对象的源代码,也不修改调用方式的前提下,给被装饰对象添加新的功能

原则:开放封闭原则

开放:对扩展功能(增加功能开放),扩展功能的意思是在源代码不做任何改变的情况下,为其增加功能

封闭:对修改源代码是封闭的

无参装饰器

基本模板

# 装饰器基本模板 -- 无参装饰器
def outer(func):def wrapper(*args, **kwargs):# 在这里要装饰之前的功能res = func(*args, **kwargs)# 在这里要装饰之后的功能return resreturn wrapper

案例演示

# 案例演示
import time
# 使用装饰器为函数增加计时功能
def count_time(func):def wrapper(*args, **kwargs):# 在这里要装饰之前的功能start_time = time.time()res = func(*args, **kwargs)# 在这里要装饰之后的功能end_time = time.time()print('函数执行一共耗时{}秒'.format(start_time-end_time))return resreturn wrapper# 功能函数
@count_time  # 使用装饰器对 time_func()进行装饰,增加了计时的功能
def time_func(n):time.sleep(n)print('{}秒后,打印这句话'.format(n))if __name__ == '__main__':time_func(5)

pycharm模板功能

使用pycharm自带的模板功能,快速创建模板

复制模板代码 ——> file ——>settings ——> editor ——> Live Templates (实时模板)

进入 Live Templates :

1、展开python,点击+ 选择 live Template

2、Abbreviation 输入快捷指令 , Description 输入模板描述, template text 粘贴进模板内容

3、点击difine ,勾选python。

完成之后,可以直接在代码编辑区输入快捷指令调出模板

在这里插入图片描述

完美伪装

将原函数的一些方法,传给装饰器,达到完美伪装

完美伪装的装饰器模板

from functools import wraps
def outer(func):@wraps(func)  # 用处是将原函数的属性传给装饰函数def wrapper(*args, **kwargs):# 在这里要装饰之前的功能res = func(*args, **kwargs)# 在这里要装饰之后的功能return resreturn wrapper

通过 from functools import wraps 引入一个 @wraps的装饰器,将源函数的一些属性传递给装饰器。比如:

print(time_func)  # 查看函数的内存地址
print(time_func.__name__)  # 查看函数的函数名
print(time_func.__doc__) # 查看函数的描述文档

案例:

import time
from functools import wraps
# 使用装饰器为函数增加计时功能
def count_time(func):@wraps(func)  # 用处是将原函数的属性传给装饰函数def wrapper(*args, **kwargs):# 在这里要装饰之前的功能start_time = time.time()res = func(*args, **kwargs)# 在这里要装饰之后的功能end_time = time.time()print('函数执行一共耗时{}秒'.format(start_time-end_time))return resreturn wrapper# 功能函数
@count_time  # 使用装饰器对 time_func()进行装饰,增加了计时的功能
def time_func(n, i):"""这个是一个被装饰函数@param n:@param i:@return:"""time.sleep(n)print('{}秒后,打印{}'.format(n, i))if __name__ == '__main__':# time_func(5, 'A')print(time_func)  # 查看函数的内存地址print(time_func.__name__)  # 查看函数的函数名print(time_func.__doc__) # 查看函数的描述文档

有参装饰器

模板

def g_outer(X):def outer(func):def wrapper(*args, **kwargs):# 在这里要装饰之前的功能res = func(*args, **kwargs)# 在这里要装饰之后的功能return resreturn wrapperreturn outer

应用有参装饰器时 @g_outer('X')

http://www.yayakq.cn/news/363986/

相关文章:

  • 暗网做网站如何搭建一个论坛网站
  • 做公司网站需要注意哪些桂林建设银行招聘网站
  • 佛山市南海区城乡建设局网站专业网站运营设计
  • 网站建设工程结算方式医疗服务网站素材
  • 网站流量分析系统网站建设与维护属于什么岗位
  • 目前做win7系统最好的网站怎么做可以直播的网站
  • 科协网站建设的意见母婴用品购物网站制作
  • 松江郑州阳网站建设电影网站做cpa
  • 长春网站制作小程序如何加入广告联盟赚钱
  • 凡科网免费做网站河南网站建设推广运营
  • 地方志网站建设网站平台建设成本
  • 网站建设算加工承揽合同吗网络推广和运营的区别
  • 做网站的花费网站设计的目的
  • html网站模板源码偃师网站开发
  • 网站死链邢台168交友
  • 龙岗企业网站制作公司网页布局的设计原则
  • 网站开发项目责任分配矩阵wordpress插件汉化下载地址
  • 深圳几百元做网站番禺网站制作
  • 做网站 淘宝织梦网站内容自动更新
  • 北京网站建设官网东明网站建设
  • 无极商城网站建设源码快速建站
  • 杭州二建建设有限公司网站结构设计师之家官网
  • 注册网站会不会有风险网站建设工程结算方式
  • 网站专题页优化模板搭建网站
  • 做公司网站好处excel免费模板网站
  • 临沂网站建设中企动力怎么建立一个文档
  • 济南做网站优化公司校园网组网方案设计
  • 游戏开发在线观看揭阳百度关键词优化
  • 网站建设主要课程医院网页
  • 上海高端室内设计公司3 如何进行网站优化设计