博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
装饰器和分布式计算
阅读量:7044 次
发布时间:2019-06-28

本文共 672 字,大约阅读时间需要 2 分钟。

hot3.png

装饰器:

装饰器本质上是一个 Python 函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。

有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码到装饰器中并继续重用。概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。

Python的decorator可以用函数实现,也可以用类实现。

https://foofish.net/python-decorator.html

闭包:

闭包本质上是一个函数,它有两部分组成,printer 函数和变量 msg。闭包使得这些变量的值始终保存在内存中。

def print_msg():    # print_msg 是外围函数    msg = "zen of python"    def printer():        # printer 是嵌套函数        print(msg)    return printeranother = print_msg()# 输出 zen of pythonanother()

一般情况下,函数中的局部变量仅在函数的执行期间可用,一旦 print_msg() 执行过后,我们会认为 msg变量将不再可用。然而,在这里我们发现 print_msg 执行完之后,在调用 another 的时候 msg 变量的值正常输出了,这就是闭包的作用,闭包使得局部变量在函数外被访问成为可能。

转载于:https://my.oschina.net/u/3055388/blog/1627065

你可能感兴趣的文章
第十五周学习报告
查看>>
tomcat用户设置
查看>>
LINQ实现行列转换
查看>>
PHP最全笔记(五)(值得收藏,不时翻看一下)
查看>>
拦截器与过滤器的区别
查看>>
移动开发知识点收集
查看>>
黑客教父详解账号泄露全过程:1亿用户已泄露
查看>>
smarty练习: 设置试题及打印试卷
查看>>
替换子节点时 的注意事项
查看>>
groupinfo
查看>>
vmware产品
查看>>
Django2.1.3 smtp 邮件 553报警
查看>>
Linux 下boost python库的使用一
查看>>
poj2546 两圆相交模板(不错的模板get)
查看>>
.NET中使用OracleHelper
查看>>
Tomcat xxx unbound
查看>>
javascript中defer的作用
查看>>
Java编程思想 学习笔记4
查看>>
UITextField
查看>>
shell编程连接postgres数据库(数据备份)
查看>>