由于最近经常使用到Python中random,math和time``datetime模块, 所以决定花时间系统的学习一下
1. math模块
math中的函数不可以用于太过复杂的数的运算, 如果需要复杂数的运行最好使用cmath模块中同名函数, 如果想要更加高级的数学功能,可以考虑选择标准库之外的numpy和scipy模块,它们不但支持数组和矩阵运算,还有丰富的数学和物理方程可供使用
1.1. 数学常量
math.pi 这个数学常量等于 3.141592...
math.e 这个数学常量 e = 2.718281...,
1.2. 常用简单函数
math.ceil(x) : 对x向上取整,返回最小整数值大于或者等于x
math.floor(x) : 对x向下取整, 返回整数值小于或者等于x
math.fabs(x) 取绝对值
math.factorial(x) 求阶乘, 即x!
math.exp(x) 求e的x次方
1.3. 三角函数
以下函数都接收一个弧度(radian)为单位的x作为参数
math.degrees(x) 角度制转化为弧度制
math.radians(x) 弧度制转化为角度制
1.5. 双曲函数和特殊函数
math.sinh(x), math.cosh(x), math.tanh(x), math.asinh(x), math.acosh(x), math.atanh(x)
还有些函数基本没用过
2. random模块
random模块的作用是产生随机数, 这个模块实现了伪随机数产生器
1.1. 常用函数
random.seed([x]) 用户初始化一个随机数种子, 可选参数可以是任何hashtable对象,默认使用系统时间
random.randint(a, b) 返回一个a到b之间的整数
random.randrange([start], stop[, step]) 从指定范围内,按指定基数递增的集合中 获取一个随机数。如:random.randrange(10, 100, 2),结果相当于从[10, 12, 14, 16, … 96, 98]序列中获取一个随机数。random.randrange(10, 100, 2)在结果上与 random.choice(range(10, 100, 2) 等效。
random.randrange(start, stop, step)等价于random.choice(range(start, stop, step))
1.2. 随机挑选和排序
random.choice(sequence) : 从序列中获取一个随机元素. 参数sequence表示一个有序类型。这里要说明 一下:sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence
1.3. 随机生成实数
生成的实数符合均匀分布(uniform distribution)
random.random() 随机生成下一个实数,它在[0,1)范围内。
random.uniform(a,b) 随机生成下一个实数,它在[a,b]范围内。
random.gauss(mu,sigma) 随机生成符合高斯分布的随机数,mu,sigma为高斯分布的两个参数。
random.expovariate(lambd) 随机生成符合指数分布的随机数,lambd为指数分布的参数。
其余是一些目前没用过的函数, 以后用到了再补充
3. 参考链接
新闻热点
疑难解答
图片精选