递归
自己玩自己的函数:
1. 必须有一个明确的结束条件
2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少
3. 递归效率不高,递归层次过多会导致栈溢出
递归例子和二分查找都放在里面了
def func(n): print(n) if int(n/2) == 0: return n return func(int(n/2))
data = [1,3,5,7,9,12,13,14,15,24,25,2,28,33,45,67,88,99] def two_find(data_new,find_num): print(data_new) if len(data_new)>1: mid = int(len(data_new)/2) if data_new[mid] == find_num: print(‘you get it!\033[34;1m%s\033[0m‘%(find_num)) elif data_new[mid] > find_num : print(‘左边继续找吧‘) return two_find(data_new[:mid],find_num) else: print(‘右边继续找吧‘) return two_find(data_new[mid:],find_num) else: if data_new[0] == find_num: print(‘you get it!\033[34;1m%s\033[0m‘ % (find_num)) else: print(‘丫不在里面,别扯犊子!‘) two_find(data,31)
匿名函数
匿名函数呢。。。暂时还没用到过,老师说有用,那应该会有用到的时候,所以写下来看看
func = lambda n : n**n print(10)
函数的参数
def func(*args,**kwargs) pass
内置函数
盗图放在这里了,以后多看看!
原文:http://www.cnblogs.com/laay/p/6501915.html