zoukankan      html  css  js  c++  java
  • python学习第十四天

    一.递归函数

    1)递归函数

    自己调用自己的函数

    递:去

    归:回

    一去一回叫做递归

    递归函数有回的过程,有两种情况可以触发:

    1.当最后一层函数全部执行结束的时候,有触底反弹的过程(回马枪),回到上层函数空间的调用处

    2.遇到return返回值,直接返回上层空间的调用处

    递归函数在运行的时候,需要内存开辟空间才可以,这个空间叫做栈帧空间

    1.去的过程就是不停的开辟栈帧空间,在回的时候,就是不停的释放栈帧空间

    2.写递归函数的时候,必须给予跳出的条件,如果递归的层数过多,不推荐使用,容易产生内存溢出或者蓝屏

    3.递归调用每一层空间都是独立的个体,独立的副本,资源不共享,可以通过return来完成值的共享

    2)尾递归

    自己调用自己,并且非表达式,把值放到参数中运算 (推荐使用)

    好处:无论调用多少次函数,都只占用一份空间,只需考虑最后一层空间的结果是多少,就不用额外考虑回的过程了

    cpython解释器目前不支持尾递归

    二.数学模块

    import math

    1.ceil() 向上取整操作

    2.floor() 向下取整操作

    3.pow() 计算一个数值的N次方(结果为浮点数)(对比内置pow)

    4.sqrt() 开平方运算(结果为浮点数)

    5.fabs() 计算一个数的绝对值(结果为浮点数)(对比内置abs)

    6.modf() 将一个数值拆分为整数和小数两部分组成元组

    7.copysign() 将参数第二个数值的正负号拷贝给第一个(返回一个小数)

    8.fsum() 将一个容器类型中的数据进行求和运算(结果为浮点数)(对比内置sum)

    9.圆周率常数pi

    三.随机模块

    import random

    1.random() 获取随机0~1之间的小数(左闭右开)

    2.randrange() 随机获取指定范围内的整数(包含开始值,不包含结束值,间隔值) 同range

    3.randint() 随机产生指定范围内的随机整数(可以取到最大值)(了解)

    4.uniform() 获取指定范围内的随机小数(左闭右开)

    5.choice() 随机获取序列中的值(多选一)

    6.sample() 随机获取序列中的值(多选多)[返回列表]

    7.shuffle() 随机打乱序列中的值(直接打乱原序列)

  • 相关阅读:
    Javascript 入门 document
    JavaScript 入门 (一)
    Python 之 Json序列化嵌套类
    [20171113]修改表结构删除列相关问题3.txt
    [20171113]修改表结构删除列相关问题2.txt
    [20171113]修改表结构删除列相关问题.txt
    [20171110]_allow_read_only_corruption参数.txt
    [20171107]dbms_shared_pool.pin补充.txt
    [20171107]dbms_shared_pool.pin.txt
    [20171106]修改show spparameter的显示宽度.txt
  • 原文地址:https://www.cnblogs.com/yunchao-520/p/12913752.html
Copyright © 2011-2022 走看看