与java类似 python的函数也是出于可以复用才使用的 如果一段代码没有复用的价值就可以不用函数 一般的函数可以定义成这样: def func(a,b=123,*arg,**args): for x in arg:#arg是一个list print x for x,y in args.items():#args是一个dict print x,y print 'a:',a print 'b:',b func(1,1,2,3,4,c=1,d=2) 结果: 2 3 4 c 1 d 2 a: 1 b
函数递归 递归的本质: 就是一个函数调用另外一个函数. def d(): return '123' def c(): r = d() return r def b(): r = c() return r def a(): r = b() print(r) a() def func(n): n += 1 if n >=4: return 'end' return func(n) r = func(1) print(r)
1.什么是递归:递归比迭代高级: 在递归函数中调用自己,如下,会陷入死循环: def recursion(): return recursion()小知识:python3的递归层深是100层,可以更改递归层深import syssys.setrecursionlimit(10000) 用非递归方式实现阶乘: def factorail(n): result = n for i in range(1,n): result *= i return resultprint (factorail(5))