Python一直都属于用,没有去系统学习过,在一次面试中见到了@符号,回来看了下,这个符号用于装饰器中,用于修饰一个函数,把被修饰的函数作为参数传递给装饰器,下面举几个例子:1. @classmethod和@staticmethod这两个含义很明显,在定义方法的时候@classmethod表示该方法...
分类:
编程语言 时间:
2014-10-19 22:45:28
阅读次数:
807
一、lambda函数
例如:
fun1 = lambda x,y: x + y
print fun1(3,4)输出:7
lambda生成一个函数对象。该函数参数为x,y,返回值为x+y。函数对象赋给func。
func的调用与正常函数无异。
上面的代码等价于:
def fun2(x, y):
return x + y
二、函数作为参数
函数可以作为一个对象,进行参数...
分类:
编程语言 时间:
2014-10-11 11:55:25
阅读次数:
175
1.函数作为参数加*和不加*
例1:
void print(int i)
{
printf("not parameter%d\n",i);
}
void debugfun(void (*funprint)(int))
{
funprint(2);
return;
}
main()
{
debug...
分类:
编程语言 时间:
2014-10-09 16:18:18
阅读次数:
190
Lambda 表达式早在 C# 1.0 时,C#中就引入了委托(delegate)类型的概念。通过使用这个类型,我们可以将函数作为参数进行传递。在某种意义上,委托可理解为一种托管的强类型的函数指针。通常情况下,使用委托来传递函数需要一定的步骤:定义一个委托,包含指定的参数类型和返回值类型。在需要接收...
分类:
其他好文 时间:
2014-10-06 15:03:30
阅读次数:
233
本篇主要体验函数参数个数不确定情况下的一个解决方案。先来看一段使用函数作为参数进行计算的实例。 var calculate = function(x, y, fn) { return fn(x, y); }; var sum = function(x, y) { return x + y; ...
分类:
编程语言 时间:
2014-10-04 10:42:36
阅读次数:
346
有时候,把函数作为参数可以让代码更简洁。 var calculator = { calculate: function(x, y, fn) { return fn(x, y); } }; var sum = function(x, y) { return x + y; },...
分类:
编程语言 时间:
2014-10-03 10:44:14
阅读次数:
227
前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础。
至于“闭包”这个词的概念的文字描述,确实不好解释,我看过很多遍,但是现在还是记不住。
但是你只需要知道应用的两种情况即可——函数作为返回值,函数作为参数传递。...
分类:
编程语言 时间:
2014-09-26 10:48:16
阅读次数:
254
前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础。至于“闭包”这个词的概念的文字描述,确实不好解释,我看过很多遍,但是现在还是记不住。但是你只需要知道应用的两种情况即可——函数作为返回值,函数作为参数传递。第一,函数作为返回值如上代码,bar函数作为返回值,赋值给f1变量...
分类:
编程语言 时间:
2014-09-26 09:04:48
阅读次数:
270
在Javascript中什么是回调函数,我认为简单来说就是把一个函数B作为参数传递给另一个函数A,在A函数中的一定时机调用函数B。这里可以看出回调函数形成了一个闭包,它可以访问函数A中的活动对象。请见下面代码:某村二娃子像买肾机6,但苹果店发现木有库存了,准备去进货,那么这时候二娃子有选择:一是:过...
分类:
编程语言 时间:
2014-09-22 02:38:11
阅读次数:
170
本系列作为Effective JavaScript的读书笔记。
不要被高阶函数这个名字给唬住了。实际上,高阶函数只是代表了两类函数:
接受其他函数作为参数的函数
返回值为函数的函数
有了这个定义,你也许就发现你已经使用过它们了,典型的就是对于一些事件的处理时传入的回调函数。
另外的一个典型使用场景就是Array类型的sort函数,它可以接受一个function作为排...
分类:
编程语言 时间:
2014-09-15 10:05:08
阅读次数:
219