python递归函数
Posted 多测师_郑sir
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python递归函数相关的知识,希望对你有一定的参考价值。
1.描述:
- 递归函数:在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
2.递归函数特性:
- 必须有一个明确的结束条件;
- 每次进入更深一层递归时,问题规模相比上次递归都应有所减少
- 相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)。
3.实例说明
- 计算阶乘 n! = 1 * 2 * 3 * ... * n,,用函数 fact(n) 表示, 可以看出:fact(n) = n! = 1 * 2 * 3 * ... * (n-1) * n = (n-1)! * n = fact(n-1) * n,所以,fact(n) 可以表示为 n * fact(n-1),只有 n = 1 时需要特殊处理
#相加计算,递归方式 def fact(n): if n > 0: return fact(n-1) + n else: return 0 print(fact(5))
4.实例应用
#找出接口报文中某个字段的值 queryUserList = { "code": "200", "msg": "查询用户成功!", "model": { "user1": { "userAccount": "17779828882", "userName": "zhengying2", "userMobile": "17779828882", "userEmail": "17779828882@qq.com" }, "user2": { "userAccount": "17779828881", "userName": "zhengying1", "userMobile": "17779828881", "userEmail": "17779828881@qq.com" }, "user3": { "userAccount": "17779828880", "userName": "zhengying0", "userMobile": "17779828880", "userEmail": "17779828880@qq.com" }, "user4": { "userAccount": "admin", "userName": "admin", "userMobile": "", "userEmail": "" }, "pages": 1 } } #代码如下 values = [] def get_value(getkey,dict1): if isinstance(dict1,dict): #验证入参格式是否为字典 for k,v in dict1.items(): #取出所以的键值对 if k == getkey: #判断所拿到的键是否是预期传入的键 values.append(v) get_value(getkey,v) #进行递归 get_value("userEmail",queryUserList) print(values)
以上是关于python递归函数的主要内容,如果未能解决你的问题,请参考以下文章