递归
使用递归获取指定目录下的所有文件的路径:
def get_path(file_path): info = os.listdir(file_path) for i in info: path = os.path.join(file_path, i) print(path) if os.path.isdir(path): print(path) get_file(path) else: print(path) get_path("/Users/zhangjin/2018/oldboy_python_video/")
#递归函数,函数自己内部调用自己
#递归深度,你可以自己调用自己的次数,官方文档中递归最大深度是1000,在这之前你就会报错
#递归适用场景:能够通过调用自己将事件规模逐步减小,注意递归要给定出口条件。
def binary_search2(lst, n, start, end): mid = (start+end) // 2 if start > end: return -1 if lst[mid] > n : end = mid -1 return binary_search2(lst, n, start, end) elif lst[mid] < n: start = mid+1 return binary_search2(lst, n, start, end) else: return mid