Python30期第十四天课程总结

Python30期第十四天课程总结

递归函数

1.自己调用自己的函数是递归函数

2.一去一回叫做递归

3.递归函数有回的过程,有两种情况可以触发:
  (1) 当最后一层函数全部执行结束的时候,有触底反弹的过程(回马枪),回到上层函数空间的调用处
  (2) 遇到return 返回值,直接返回上层空间的调用处
  
4.函数在运行的时候,需要内存开辟空间才可以,这个空间叫做栈帧空间

5.递归:
  (1)去的过程就是不停的开辟栈帧空间,在回的时候,就是在不停的释放栈帧空间,
  递归函数就是不停的开辟和释放栈帧空间的一个完整的过程
  (2)回的时候有两种触发的机制,要么是最后一层函数空间全部执行完毕,要么是遇到return,都会触底反弹(回马枪).
  (3)写递归函数时候,必须给与跳出的条件,如果递归的层数过多,不推荐使用,容易内存溢出或者蓝屏
  (4)递归调用每一层空间都是独立的个体,独立的副本,资源不共享,可以通过return来完成值的传递

尾递归

1. 尾递归(自己调用自己,并且非表达式) [把值放到参数中运算](推荐)
2. 无论调用多少次函数,都只占用一份空间
   好处: 只需要考虑最后一层空间的结果是多少,就不用额外考虑回的过程了;
   cpython解释器目前不支持.

随机模块 random

1.random() 获取随机0-1之间的小数(左闭右开) 0 <= x < 1
2.randrange() 随机获取指定范围内的整数(包含开始值,不包含结束值,间隔值) 同range
3.randint() 随机产生指定范围内的随机整数(可以取到最大值)[ 了解 ]
4.uniform() 获取指定范围内的随机小数(左闭右开) 1<=x < 3的小数
5.choice()  随机获取序列中的值(多选一)
6.sample()  随机获取序列中的值(多选多) [返回列表]
7.shuffle() 随机打乱序列中的值(直接打乱原序列)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值