Python提供了一个强大的标准库,内置了许多非常有用的模块,可以直接使用(标准库是随Python一起安装的)。
Python标准库目录:
1.Math数学函数
2.Cmp()函数
3.Random()随机函数
4.time
5.datetime
6.sys
7.os
......
模块简介
a、模块化的简介:
.py 文件就是一个模块,创建模块实际上就是创建一个 .py
优点:便于团队开发、方便维护、代码复用。
b、使用模块:
导入模块的两种方式:
方式1:import 包名.模块名 [as 别名]
方式2:from 包名 import 模块名
from 包名.模块名 import 变量|函数|类
注意:方式2不建议一次性将包名中的所有模块名导出,不建议使用 * 号
1.常见的数学函数Math
函数名 | 描述 |
abs(x) | 返回数字的绝对值,如abs(-10) 返回 10 |
fabs(x) | 返回数字的绝对值,如math.fabs(-10) 返回10.0,(返回浮点型) |
ceil(x) | 返回数字的上入整数,如math.ceil(4.1) 返回 5,(向上取整) |
floor(x) | 返回数字的下舍整数,如math.floor(4.9)返回 4,(向下取整) |
round(x [,n]) | 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
exp(x) | 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
log(x) | 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
log10(x) | 返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
max(x1, x2,…) | 返回给定参数的最大值,参数可以为序列。 |
min(x1, x2,…) | 返回给定参数的最小值,参数可以为序列。 |
modf(x) | 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
pow(x, y) | x**y 运算后的值。求x的y次幂 |
sqrt(x) | 返回数字x的平方根 x*x |
例子:
Math
两种导入方式:
方式一:import math # 需要math调用函数
方拾二:from math import * # 将math模块中所有的成员导入 不建议使用
print(math.pi) # 圆周率 3.141592653589793
print(math.fabs(-10), type(math.fabs(-10))) # 10.0 <class 'float'>
print(math.ceil(5.6)) # 向上取整 6
print(math.floor(5.6)) # 向下取整 5
print(math.pow(2, 3), type(math.pow(2, 3))) # 2的3次方 8.0 <class 'float'>
print(math.trunc(3.9)) # 截尾取整 3
print(round(2.6)) # 四舍五入取整 3
print(round(2.61555, 3)) # 四舍五入取整,保留三位小数 2.616
Math
2.Python3中Cmp()函数
符号 | 说明 | 解释 |
lt(a,b) | a<b | less than |
le(a,b) | a<=b | less and equal |
eq(a,b) | a==b | equal |
ne(a,b) | a!=b | not equal |
gt(a,b) | a>b | greater than |
ge(a,b) | a>=b | greater and equal |
例子:
python3中对应使用先导入模块:
import operator
然后:
>>> operator.eq("a","a");
True
lt(a,b) 相当于 a<b 从第一个数字或字母(ASCII)比大小
less than
le(a,b)相当于a<=b
less and equal
eq(a,b)相当于a==b 字母完全一样,返回True,
equal
ne(a,b)相当于a!=b 返回true
not equal
gt(a,b)相当于a>b
greater than
ge(a,b)相当于 a>=b
greater and equal
函数的返回值是布尔值
Cmp
3.Random()随机函数
函数名 | 描述 |
random.random() | 用于随机生成一个0到1的浮点数n(0<=n<=1) |
random.uniform(a,b) | 用于生成指定范围内的随机浮点数。两个参数 ,其中大的数为上限,小的为下线。 |
random.randint(a,b) | 随机生成a到b范围内的整数n(a<=n<=b) |
random.randrange([start],[stop],[step]) | 从指定范围内,按指定基数递增的集合中获取一个随机数。 |
random.choice(sequence) | 从序列中随机获取一个元素。 |
random.shuffle(x[,random]) | 用于将一个列表的元素打乱,即将列表内的元素随机排列。 |
random.sample(sequence,k) | 从指定序列中随机获取指定长度的片段并随机排列。注意:sample函数不会修改原有序列。 |
1.模块导入
# 方法1
import random
# 方法2
from random import * #一次将random中所有的方法导入 不推荐使用
2.查看对应的方法和属性
方法一:
>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
>>> import random
>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'random']
>>>
方法二:
>>> dir()
['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__']
>>> from random import *
>>> dir(random)
['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__text_signature__']
>>>
方法和属性
3.random模块常用功能
# 1. random.random():用于随机生成一个0到1的浮点数n(0<=n<=1)
print(random.random()) # 0.6237849307223267
'''
2.random.uniform(a,b):用于生成指定范围内的随机浮点数。两个参数,其中之一是上线,另一个是下限:
如果a>b,生成的随机数n:a<=n <=b;
如果a<b,生成的随机数n:b<=n <=a;
'''
print(random.uniform(2, 10)) # 5.187842320666504
# 3.random.randint(a,b):随机生成a到b范围内的整数n(a<=n<=b)
print(random.randint(1, 3)) # 1
# 4.random.randrange([start],[stop],[step]):从指定范围内,按指定基数递增的集合中获取一个随机数。
print(random.randrange(10, 30, 2)) # 24
print(random.randrange(30, 10, -2)) # 20
# 5.random.choice(sequence):从序列中随机获取一个元素。
lis = ['Java', 'Python', 'PHP', 'Javascript']
course = random.choice(lis) # 从序列中随机获取一个元素。
print(course) # Python
# 6.random.shuffle(x[,random]):用于将一个列表的元素打乱,即将列表内的元素随机排列。
a = [1, 2, 3, 4, 5, 6]
random.shuffle(a) # 将列表的元素打乱,元素随机排列
print(a) # [2, 5, 6, 4, 1, 3]
# 7.random.sample(sequence,k):从指定序列中随机获取指定长度的片段并随机排列。注意:sample函数不会修改原有序列。
li = [1, 2, 3, 4, 5, 6, 7]
print(random.sample(li, 4)) # [2, 1, 3, 4]
print(li) # [1, 2, 3, 4, 5, 6, 7]
常用功能