装饰器基础知识 装饰器是可调用的对象,其参数是另一个函数(被装饰的函数)。 装饰器可能会处理被装饰的函数,然后把它返回,或者将其替换成另一个函数或可调用对象。 假如有个名为 decorate 的装饰器: 上述代码的效果与下述写法一样: 两种写法的最终结果一样:上述两个代码片段执行完毕后得到的targ ...
分类:
编程语言 时间:
2017-08-19 22:23:29
阅读次数:
198
标准库的function类型 function<T> f; result_type 该function类型的可调用对象的返回类型 function<int(int ,int)> f1 函数名重载的话,不能直接放入function类型的对象中 可以通过存储函数指针的方式来解决这个问题 类型转换符:是类 ...
分类:
其他好文 时间:
2017-08-14 23:31:16
阅读次数:
164
闭包函数: 1 内部函数 2 包含对外部作用域而非全局作用域的引用闭包函数的特点: 自带作用域 延迟计算 装饰器 一:开放封闭原则,对扩展是开放的,对修改是封闭的 二:装饰器,装饰器本质可以任意可调用对象,被装饰的对象也可以是任意 可调用对象, 装饰器的功能是: 在不修改被装饰对象源代码以及调用方式 ...
分类:
其他好文 时间:
2017-07-30 23:38:45
阅读次数:
126
一、定义 装饰它人的工具,装饰器本身可以是任意可调用对象,被装饰的对象本身也可以是任意可调用对象 二、原则: 1 、开放封闭原则:对扩展是开放的,对修改是封闭 2.1 装饰器的遵循的原则:1 不修改被装饰对象的源代码 2 不修改被调用对象的调用方式 三、目的 装饰器的目的是:在遵循1和2原则的前提, ...
分类:
编程语言 时间:
2017-07-23 22:56:24
阅读次数:
434
bind这个东西争议很多,用起来很迷,而且不利于编译优化,很多人都推荐用lambda而非bind。简单说,bind就是通过库抽象实现了lambda里需要写进语言标准的东西,变量捕获,参数绑定,延迟求值等。但是以此带来的缺陷就是,虽然bind生成的可调用对象的结构是编译期确定的,但是它的值,尤其是被调... ...
分类:
其他好文 时间:
2017-07-22 14:25:19
阅读次数:
476
URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表;你就是以这种方式告诉Django,对于这个URL调用这段代码<br>对于那个URL调用那段代码 1. 单一路由对应 2. 基于正则的路由 终止符:^edits$ 伪静态:url( ...
分类:
其他好文 时间:
2017-06-28 17:10:08
阅读次数:
185
python特殊函数 __call__() __call__ 在Python中,函数其实是一个对象: >>> f = abs >>> f.__name__ 'abs' >>> f(-123) 123 由于 f 可以被调用,所以,f 被称为可调用对象。 所有的函数都是可调用对象。 一个类实例也可以变成 ...
分类:
编程语言 时间:
2017-06-24 16:18:44
阅读次数:
106
python中对线程的支持的确不够,不过据说python有足够完备的异步网络框架模块,希望日后能学习到,这里就简单的对python中的线程做个总结 threading库可用来在单独的线程中执行任意的python可调用对象。尽管此模块对线程相关操作的支持不够,但是我们还是能够用简单的线程来处理I/O操 ...
分类:
编程语言 时间:
2017-06-13 18:20:29
阅读次数:
113
上节课内容回顾: 一、闭包函数 1.定义在函数内部的函数 2.该内部函数包含对外部作用域而不是对全局作用域的引用【f2()就是闭包函数】 二、装饰器 1.为什么要有装饰器: 开发封闭原则,对扩展开发的,对修改是封闭的。 2.什么是装饰器: 装饰器本身--》可以是任意可调用对象(列如:函数) 被装饰的 ...
分类:
其他好文 时间:
2017-06-03 11:23:00
阅读次数:
144
一:函数对象:函数是第一类对象,即函数可以当作数据传递 1 可以被引用 2 可以当作参数传递 3 返回值可以是函数 3 可以当作容器类型的元素 ''' #1# def foo():# print('from foo') # func=foo## print(foo)# print(func)# fu ...
分类:
其他好文 时间:
2017-05-29 11:08:23
阅读次数:
190