网站搭建官网dw设计做网站完整案例

张小明 2026/1/13 7:07:21
网站搭建官网,dw设计做网站完整案例,荆州市城市建设档案馆网站,工业产品设计要学什么Python学习笔记-Day9-装饰器篇 函数的使用 首先回顾一下前面学过的函数#xff1a; def hi(nameyasoob): return hi name greet hi print(greet())在python中#xff0c;一切皆对象 在函数里定义函数 #方法一、 def a(name youzi):print(youzi)def greet():return no…Python学习笔记-Day9-装饰器篇函数的使用首先回顾一下前面学过的函数def hi(nameyasoob): return hi name greet hi print(greet())在python中一切皆对象在函数里定义函数#方法一、 def a(name youzi): print(youzi) def greet(): return now greet() function def welcome(): return now welcome() function print(greet()) print(welcome()) print(now a() function) hi() #方法二、 #这里如果也可以写成 def a(nameyouzi): def greet(): return now greet() function def welcome(): return now welcome() function if name youzi: return greet else: return welcome num a(nameddd) num1 a(nameyouzi) print(num()) print(num1())这里解释方法二细节nameyouzi’是默认参数当不填的时候就是youziretrun greet这里greet是对象当加上括号就调用执行了这个函数num a(name‘ddd’)实例化a然后传入参数ddd并赋值给num然后再通过判断传入的值来返回相应的值其实如果当函数不加括号就可以到处传递并且可以赋值给别的变量而不去执行它。这里其实我们如果调用函数不传参的话默认就是youzi然后就会返回greet这个时候我们可以这么写a()()就是调用greet当我把num a(name‘zhangsan’)那么就会返回welcome函数重要点函数里面的函数如果没有调用就不会被执行只有调用的时候才会执行函数里面的函数只能在函数里面的函数调用不能在函数的外部调用从函数中返回函数其实就是调用函数变量也可以接收函数但是函数一般分别两种一种是带括号的叫调用函数并且执行另一种是不带括号的叫对象#定义一个函数名叫hi def hi(): #返回的是hi yasoob return hi yasoob #定义一个函数但是因为我们今天要讲的是装饰器所以func这个的作用其实是用来接收函数的当然也可以接收变量、字典、列表参数等 def doSomethingBeforeHi(func): print(I am doing some boring work before executing hi()) a func() #这个其实是调用我们传过来的函数因为加了括号 print(a) doSomethingBeforeHi(hi)函数里定义函数然后在函数里调用函数双层嵌套函数并且调用另一个函数def a_new_decorator(a_func): def wrapTheFunction(): print(I am doing some boring work before executing a_func()) #调用传递过来的函数 a_func() print(I am doing some boring work after executing a_func()) #这个return的作用在于触发函数并且调用函数 return wrapTheFunction def a_function_requiring_decoration(): print(I am the function which needs some decoration to remove my foul smell) a_function_requiring_decoration() #print(a_new_decorator(a_function_requiring_decoration)) a_function_requiring_decoration a_new_decorator(a_function_requiring_decoration) a_function_requiring_decoration()总结可以函数里面定义函数当然也可以相互传递函数函数的参数也可以接收函数接下来开始进装饰器这个时候讲装饰器就会好理解点博客当时学这个也是很头大不知道为什么这样做后面发现之后感觉还挺有意思的符号来使用装饰器这里先提前解释在装饰函数的时候其实就已经做了一个动作就是把下面的函数名传给了装饰的函数定义的装饰函数如果不理解接着往下看演示def a_new_decorator(a_func): def wrapTheFunction(): print(I am doing some boring work before executing a_func()) a_func() print(I am doing some boring work after executing a_func()) return wrapTheFunction a_new_decorator def a_function_requiring_decoration(): print(I am the function which needs some decoration to remove my foul smell) #把a_function_requiring_decoration放到a_new_decorator装饰但是装饰不会调用 a_new_decorator(a_function_requiring_decoration) a_function_requiring_decoration()def a_new_decorator(a_func): def wrapTheFunction(): print(I am doing some boring work before executing a_func()) a_func() print(I am doing some boring work after executing a_func()) return wrapTheFunction a_new_decorator def a_function_requiring_decoration(): print(I am the function which needs some decoration to remove my foul smell) print(a_function_requiring_decoration.__name__) wrapTheFunction 封装函数 这里我们想打印原函数的名字所以接下来我们需要使用wraps使用wraps来保持原函数的名字#从functools库导入函数 from functools import wraps #定义一个函数添加一个参数f用来接收函数 def decorator_name(f): #让原函数保持不变 wraps(f) #这个是语法规范参数是固定死的函数名不是可以随便改但是要符合命名规范 def decorated(*args,**kwargs): #判断can_run如果是True就不执行是false就执行 if not can_run: return Functions will not run #把原函数的参数和输入的内容都返回回去 return f(*args,**kwargs) #返回decorated作用是调用并执行函数 return decorated #使用装饰器 decorator_name def func(): return (Functions is running) can_run True print(func()) can_run False print(func())return func(*args,**kwargs) 的核心作用动态调用函数func可以是任何函数传递所有参数*args传递所有位置参数也就是元组**kwargs传递所有关键字参数也就是字典保持透明性装饰器不需要知道被装饰函数的具体函数返回结果将原始函数的返回值原样返回闭包再说一个知识点那就是闭包解释通俗来说闭包就是函数及其周边环境的组合。在本文语境下你可以暂时理解周边环境就是一些外部的变量闭包通常涉及到一个内部函数内部函数可以访问或者说记住外部函数的局部变量即使外部函数已经执行完毕。代码如下# 创建一个装饰器名为simple_decorator里面func可以理解为参数也是函数 def simple_decorator(func): def wrapper(): print(--------开始-------) func() print(--------结束-------) #触发wrapper也就是调用该函数 return wrapper def greet(): print(您好) closure simple_decorator(greet) print(type(closure))closure就是一个闭包的案例print(--------开始-------) func() print(--------结束-------) 本质上执行的函数代码 print(--------开始-------) greet() print(--------结束-------)
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

搭建网站详细步骤购物网站建设行情

智慧职教自动学习助手:告别手动刷课,轻松管理网课任务 【免费下载链接】hcqHome 简单好用的刷课脚本[支持平台:职教云,智慧职教,资源库] 项目地址: https://gitcode.com/gh_mirrors/hc/hcqHome 还在为繁琐的网课学习任务而烦恼吗?智慧…

张小明 2026/1/3 12:13:47 网站建设

深圳网站建设有限公司 2019网站安装

VideoFusion是一款专为视频创作者设计的一站式视频批量处理软件,让你无需复杂设置就能完成视频拼接、去黑边、补帧等专业操作。无论你是短视频创作者还是内容制作新手,这款工具都能让你的视频处理工作变得轻松高效。 【免费下载链接】VideoFusion 一站式…

张小明 2026/1/9 12:25:37 网站建设

毕业设计博客网站开发wordpress鼠标指针

导语 【免费下载链接】WAN2.2-14B-Rapid-AllInOne 项目地址: https://ai.gitcode.com/hf_mirrors/Phr00t/WAN2.2-14B-Rapid-AllInOne 阿里通义万相团队开源的WAN2.2-14B-Rapid-AllInOne模型,以"四合一"全能架构重新定义视频生成效率,让…

张小明 2026/1/4 11:45:13 网站建设

陕西省建设厅执业资格注册中心网站报名系统手机百度下载

FaceFusion镜像集成CI/CD流水线,持续交付有保障 在AI驱动内容创作的今天,人脸替换技术早已不再是实验室里的炫技工具。从短视频平台的一键换脸滤镜,到影视后期中对演员面部的老化修复,再到虚拟主播实时表情迁移——这些看似“魔法…

张小明 2026/1/10 8:42:09 网站建设

合肥制作网站外贸网站推广如何做

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个电商秒杀系统的分布式事务对比演示项目,要求:1.模拟1000并发秒杀场景 2.实现三种方案:TCC(Try-Confirm-Cancel)、SAGA模式、本地消息表定…

张小明 2025/12/28 4:42:21 网站建设

培训网站推广盐城做网站的公司地址

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 💛博主介绍&#…

张小明 2026/1/5 23:36:04 网站建设