一、函数的定义格式:
def 函数名(参数列表):
函数体
def fun1(a, b, c):
return a + b + c
二、位置传递:位置对应
print(fun1(3 ,2 ,1))
输出:
6
三、关键字传递:位置参数要出现在关键字参数之前
print(fun1(3 ,c = 1, b = 2))
输出:
6
四、参数默认值:可以给...
分类:
编程语言 时间:
2014-10-09 15:28:58
阅读次数:
197
下面是一段正确的代码://基类Apublic class A{ public void SomeMethod(A a) { }}//派生类Bpublic class B:A{}//在参数传递中,可以使用A类型的参数接收B类型的对象,代码如下:A a=new A();B b=new ...
分类:
其他好文 时间:
2014-10-09 12:37:33
阅读次数:
167
Call/Apply因为this指针的指向很容易被转移丢失,因此Javascript提供了两个类似的函数apply和call来允许函数在调用时重新显式的指定this指针。call和apply只有语法上的差异,没有功能上的差别。参数传递方法当我们执行函数的时候,如果函数带有参数,那么这个时候Javas...
分类:
移动开发 时间:
2014-10-08 13:14:25
阅读次数:
195
复合类型数据的接收 所谓复合类型数据是指,一个JavaBean实例的属性值,而这些值又作为参数传递给Action。Action若要接收这些数据,需要做到以下几点: (1)定义Action时,将该Bean的实例定义为该Action的属性,并赋予其get与set方法。 (2)参数的形式为:bean实例....
分类:
其他好文 时间:
2014-10-06 10:48:52
阅读次数:
211
首先注意一点,在VB6中缺省参数传递的方式是:引用传递,而在VB.NET中缺省参数传递的方式是:值传递。然后我们看下面VB6中的引用传递与VB.NET中的引用传递的对比。VB6中的引用传递Private Sub CommandButton1_Click()ChangeName CommandButt...
分类:
Web程序 时间:
2014-10-03 18:07:24
阅读次数:
350
C语言函数参数传递的方式可分为3种:值传递,地址传递。(C++中还有引用传递)通常的建议:如果传值的话,会生成新的对象,花费时间和空间,而在退出函数的时候,又会销毁该对象,花费时间和空间。因而如果int,char等固有类型,而是你自己定义的类或结构等,都建议传指针或引..
分类:
其他好文 时间:
2014-09-30 03:18:42
阅读次数:
181
目前无论是Lisp还是Javascript(C++就更不用说了),递归深度都远远低于可用内存大小,而且栈一旦分配就无法挪动(有指针似乎无解),这个问题的根源在于call指令会把下一指令的地址入栈。我经过几年的思考终于发现,可以把C++的内存模型完全放在堆上,也就是说进行call之前先new出调用函数所需要的空间,而把返回地址作为参数传递进去。这样就从根源上解决了此问题,那什么尾递归就是个渣,完全没...
分类:
其他好文 时间:
2014-09-29 13:14:50
阅读次数:
196
写一个函数交换两个变量的值。C:错误的实现:void swap(int i, int j) { int t = i; i = j; j = t;}因为C语言的函数参数是以值来传递的(pass by value),参数传递时被copy了,所以函数中交换的是复制后的值。正确的实现:指针版:v...
分类:
编程语言 时间:
2014-09-29 11:50:37
阅读次数:
239
前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础。
至于“闭包”这个词的概念的文字描述,确实不好解释,我看过很多遍,但是现在还是记不住。
但是你只需要知道应用的两种情况即可——函数作为返回值,函数作为参数传递。...
分类:
编程语言 时间:
2014-09-26 10:48:16
阅读次数:
254