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

django网站开发规范wordpress响应式免费

django网站开发规范,wordpress响应式免费,河南省建筑业协会官网,设计竞赛网[掌握]装饰器入门 语法糖 目标:掌握装饰器的快速使用。 装饰器本质上就是闭包,但装饰器有特殊作用,那就是:在不改变原有函数的基础上,给原有函数增加额外功能。 定义装饰器: def outer([外面参数列表]):…

[掌握]装饰器入门

语法糖

==目标:==掌握装饰器的快速使用。

装饰器本质上就是闭包,但装饰器有特殊作用,那就是:在不改变原有函数的基础上,给原有函数增加额外功能。

定义装饰器:

def outer([外面参数列表]):def inner([内部参数列表]):新增额外功能代码.......[引用]return inner

使用装饰器的标准语法:

# 语法糖
@outer
def 函数名():代码...

例如,一起来完成:

(1)我们知道,发表评论前是需要先登录的;

(2)接着,先定义有发表评论的功能函数;

(3)使用语法糖方式,在不改变原有函数的基础上,提示用户要先登录~。


# 接下来,要对func函数进行增强,编写闭包
def outer(func):def inner():print('先要登录!')func()print('评论成功!')return inner  # inner函数本质上就是增强版的func函数# 定义你要对哪个函数进行增强
@outer
def func():print('发表评论!')if __name__ == '__main__':func()

==总结:==

(1)装饰器本质上就是闭包,作用是在不改变原有函数的基础上,给原有函数增加额外功能;

(2)要构成装饰器,要满足4个条件:有嵌套、有引用、有返回、()。==A、有额外功能==;B、有结果;

*传统方式

==目标:==了解装饰器的传统方式与执行流程。

定义装饰器:

def outer([外面参数列表]):def inner([内部参数列表]):新增额外功能代码.......[引用]return inner

使用装饰器的传统方式语法:

# 传统方式
变量名 = outer([外面参数列表])
变量名([内部参数列表])

例如,一起来完成:

(1)我们知道,发表评论前是需要先登录的;

(2)接着,先定义有发表评论的功能函数;

(3)使用传统方式,在不改变原有函数的基础上,提示用户要先登录~;

(4)了解装饰器的执行流程。

# 接下来,要对func函数进行增强,编写闭包
def outer(func):def inner():print('先要登录!')func()print('评论成功!')return inner  # inner函数本质上就是增强版的func函数# 定义你要对哪个函数进行增强
def func():print('发表评论!')if __name__ == '__main__':inner_func = outer(func)inner_func()

 

==总结:==

(1)使用装饰器时,应该优先考虑使用:();==A、语法糖==;B、传统方式;

(2)为了更好的了解装饰器的执行流程,可以通过装饰器的传统方式来了解。

[了解]函数分类

==目标:==了解函数的分类有哪些?

对于函数的使用,可以根据有无参数、有无返回值来进行分类。分为:

(1)无参无返回值的函数

(2)有参无返回值的函数

(3)无参有返回值的函数

(4)有参有返回值的函数

无参无返回值的函数的语法:

# 定义
def 函数名():
    代码
    ...
    
# 调用
函数名()

有参无返回值的函数的语法:

# 定义
def 函数名(参数1, 参数2, ...):
    代码
    ...
    
# 调用
函数名(值1, 值2, ...)

无参有返回值的函数的语法:

# 定义
def 函数名():
    代码
    ...
    return 值
    
# 调用
变量名 = 函数名()

有参有返回值的函数的语法:

# 定义
def 函数名(参数1, 参数2, ...):
    代码
    ...
    return 值
    
# 调用
变量名 = 函数名(值1, 值2, ...)

==总结:==

(1)我们会发现,函数的分类有4种,那么对应于装饰器也有4种;

(2)注意:对函数来分类,主要是根据有无参数和返回值来划分的。

[掌握]装饰无参无返回值的函数

==目标:==掌握如何装饰无参无返回值的函数。

当使用装饰器装饰无参无返回值的函数时,语法:

def outer(func):def inner():新增额外功能代码.......[引用]return inner

例如,一起来完成:

(1)在给无参无返回值的原有函数求和计算结果之前;

(2)添加一个友好提示(注意:不能改变源码):正在努力计算中...

# 1.定义装饰器
def outer(func):def inner():   # 有嵌套print("=======正在努力计算中...========")   # 有额外功能func()  # 有引用return inner  # 有返回# 2.使用装饰器
# 3.定义函数
@outer
def get_sum():a = 10b = 23sum = a + bprint(f"两数之和为:{sum}")# 4.调用函数
get_sum()

==总结:==

(1)当被装饰的函数没有参数时,对应定义的装饰器的内部函数也没有参数;

(2)注意:当被装饰的函数没有返回值时,对应定义的装饰器的内部函数也没有返回值.。

[掌握]装饰有参无返回值的函数

==目标:==掌握如何装饰有参无返回值的函数。

当使用装饰器装饰有参无返回值的函数时,语法:

def outer(func):def inner(参数1, 参数2, ...):新增额外功能代码.......[引用]return inner

例如,一起来完成:

(1)在给有参无返回值的原有函数求和计算结果之前;

(2)添加一个友好提示(注意:不能改变源码):正在努力计算中...。

def outer(func):
    def inner(x,y):   # 有嵌套

==总结:==

(1)请问:当被装饰的原有函数有参数时,装饰器的内部函数也有对应个数的参数,这句话正确吗?==A、正确==;B、错误。

[掌握]装饰无参有返回值的函数

==目标:==掌握如何装饰无参有返回值的函数。

当使用装饰器装饰无参有返回值的函数时,语法:

def outer(func):def inner():新增额外功能代码.......[引用]return 值  # 要返回值return inner

例如,一起来完成:

(1)在给无参有返回值的原有函数求和计算结果之前;

(2)添加一个友好提示(注意:不能改变源码):正在努力计算中...。

# 1.定义装饰器
def outer(func):def inner():print("=====正在努力计算中...")result = func()return resultreturn inner# 2.使用装饰器
# 3.定义函数
@outer
def get_sum():a = 19b = 23sum = a + breturn sum# 4.调用函数
print(get_sum())

==总结:==

(1)当原有函数有返回值时,记住:装饰器的内部函数也需要返回结果,否则没有输出效果。

[掌握]装饰有参有返回值的函数

==目标:==掌握如何装饰有参有返回值的函数。

当使用装饰器装饰有参有返回值的函数时,语法:

def outer(func):def inner(参数1, 参数2, ...):新增额外功能代码.......[引用]return 值  # 要返回值return inner

例如,一起来完成:

(1)在给有参有返回值的原有函数求和计算结果之前;

(2)添加一个友好提示(注意:不能改变源码):正在努力计算中...。

# 接下来,要对func函数进行增强,编写闭包
def outer(func):def inner(a,b):  #被增强的函数func,有两个参数,则这里的inner也必须有两个参数,因为inner是增强版的funcprint('求和前!')result = func(a,b)return result     # 被增强函数有返回值,这里也必须有返回值 这里的return,一般返回被增强函数的返回值return inner  # inner函数本质上就是增强版的func函数# 定义你要对哪个函数进行增强
@outer
def func(a,b):   # 有参无返回值return a+bif __name__ == '__main__':result = func(10,20)print(result)

==总结:==

(1)当被装饰的原有函数有参有返回值时,定义的装饰器类型应该在内部函数中要有参数,也要有返回值;

(2)当要构成装饰器的条件时,需要满足:有嵌套、有引用、()、有额外功能。==A、有返回==;B、有装饰;

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

相关文章:

  • 网站怎么搬家wordpress 改成论坛
  • 企业网站的建设 英文摘要从化建网站
  • 肇东市网站淘客建站程序
  • 汕头网站制作网页友情链接英语
  • asp.net建立网站岳麓区专业的建设网站公司
  • 有好的网址推荐吗西安网站seo诊断
  • 长沙微信网站建设梅州网站建设梅州
  • 长沙哪家网络公司做网站好做齐鲁油官方网站
  • 福建住建设厅官方网站如何用书签 做网站接口
  • 用html5做商城网站怎么做爬虫 wordpress
  • 网站开发背景策划书网站底部图标代码
  • 网站建设问卷调查表做外贸网站需要注册公司吗
  • 做网站的尺寸即时设计广告
  • 网站建设属于技术开发吗上海永灿网站建设
  • 软件开发模型对比seo如何网站正常更新
  • 孟州网站开发app农产品公司网页设计
  • 网站模板有什么用哪个省份网站建设便宜
  • 公司做网站哪家好商标注册查询一览表
  • 沈阳网站制作联系方式公司网站备案网址
  • 宜宾网站设计公司网站建设办法
  • 简述电子商务网站开发的基本流程安装wordpress数据库500
  • php网站开发框架搭建网站快速盈利
  • 网站开发需要考什么证书网络营销软件哪个好
  • 哪些网站做推广好横峰县城乡建设网站
  • 自做闪图网站自己做的影视网站买会员违法吗
  • 南京门户网站制作海淀做网站
  • 建网站公司营销型网站建设网页游戏在线
  • 开发一个企业网站报价vi设计方案模板
  • 网站中查看熊掌号怎么做的七牛云存储 wordpress插件
  • 装饰公司网站建设个人网站可以做论坛