在 python 里面,简单的使用 def 关键字就可以定义一个函数,由于 python 是弱类型语言,所以不需声明返回值类型
定义一个 Fibonacci 函数:1
2
3
4
5
6
7
8def fib(n):
0, 1 a, b =
while a < n:
print a,
a, b = b, a+b
2000) fib(
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
由此可见,return 语句可有可无,当不使用 return 语句时,返回值为 None1
2print fib(2000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 None
python 的函数名跟 javascript 有点相似,直接输入函数名,将返回函数的入口地址
也就是说,函数名本身就是个指针1
2 fib
<function fib at 0x7fc0c4aee668>
所以,可以把这个函数名作为指针传递给其他指针变量1
f = fib
传递完毕之后,可以直接调用新的指针变量,使用方法跟原函数指针一致1
22000) f(
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
如果把前面的例子加上 return 语句的话,那就必须创建个列表,把 Fibonacci 数列的结果给存起来返回
1 | def fib2(n): |
当然,也可以把返回值作为结果给存起来
1 | 2000) f2000 = fib2( |