random:随机数模块
我们可以在解释器中看到其蕴含的方法
接下来我解释一些常用的方法:
random.random( ) 返回0-1的随机数 [0,1)
- >>> random.random()
- 0.364183511476754
random.randint(n,m) 返回[n,m]的整数随机数
- >>> random.randint(5,10)
- 7
random.randrange(n,m) [m,n)的整数随机数 (取左不取右 ,可以设步长)
- >>> random.randrange(1,10)
- 3
- >>> random.randrange(1,10)
- 1
-
-
- >>> random.randrange(0,1) #左闭右开,所以永远取不到1
- 0
- >>> random.randrange(0,1)
- 0
- >>> random.randrange(0,1)
- 0
-
- >>> random.randrange(1,10,2) #步长为2,所以从1起步只能取1,3,5,7,9
- 5
- >>> random.randrange(1,10,2)
- 9
- >>> random.randrange(0,10,2) #步长为2,所以从0起步只能取0,2,4,6,8
- 2
- >>> random.randrange(0,10,2)
- 4
- >>>
random.uniform(n,m) 返回一个[n,m]的随机浮点数
- >>> random.uniform(0,1)
- 0.8341113837892614
- >>> random.uniform(0,0) #可以看出是[n,m]的
- 0.0
- >>> random.uniform(0,100)
- 66.47340671952776
- >>>
random.choice([元素1,元素2,元素3,元素4]) 随机列举有序序列中的一个值
- >>> random.choice([1,2,3,4,5])
- 5
- >>> random.choice([1,2,3,4,5])
- 4
- >>> random.choice([1,2,3,4,5])
- 1
- >>>
random.shuffle(列表) 洗牌打乱
- >>> list1 = [1,2,3,4,5,6]
- >>> random.shuffle(list1)
- >>> list1
- [4, 1, 6, 3, 2, 5]
- >>>
math:数学模块
math.e
math.pi
- >>> math.e
- 2.718281828459045
- >>> math.pi
- 3.141592653589793
- >>>
math.ceil(浮点型数字) 向上取整
- >>> math.ceil(3.00001)
- 4
- >>> math.ceil(3.00000000000001)
- 4
- >>> math.ceil(3.000000000000000000000001) #注意:取整还是有一定限度的
- 3
math.floor(浮点型数字) 向下取整
- >>> math.floor(3.99999)
- 3
- >>> math.floor(3.9999999999999)
- 3
- >>> math.floor(3.99999999999999999999999) #同理,也是有一定限度的
- 4
- >>>
round(浮点型数字) 四舍五入,整数为奇数遵循标准的四舍五入, 整数为偶数遵循以五为界限,五会被舍弃(即不进位)
因为它是被定义在全局函数中,所以不需要声明math模块
- >>> round(4.5) #整数为偶数遵循以五为界限,五会被舍弃(即不进位)
- 4
- >>> round(5.5) #整数为奇数遵循标准的四舍五入
- 6
-
- >>> round(4.6) #其余皆遵循四舍五入
- 5
- >>> round(4.4)
- 4
- >>> round(5.6)
- 6
- >>> round(5.4)
- 5
- >>>
math.pow(被次方数,次方数) 求次方(结果为浮点数)
- >>> math.pow(2,3)
- 8.0
- >>> math.pow(2,4)
- 16.0
- >>>
math.sqrt(被开平方数) 开平方根(结果为浮点数)
- >>> math.sqrt(9)
- 3.0
- >>> math.sqrt(4)
- 2.0
- >>> math.sqrt(8)
- 2.8284271247461903
- >>>
math.fabs(数字) 求绝对值(结果为浮点数)
- >>> math.fabs(-11)
- 11.0
- >>> math.fabs(11)
- 11.0
- >>> math.fabs(-11.11)
- 11.11
- >>> math.fabs(11.11)
- 11.11
- >>>
abs(数字) 求绝对值(全局函数内的,无需声明math)
- >>> abs(-11.11)
- 11.11
- >>>
math.log(对数,底数) 求真数(结果为浮点数)
若只传一个参数,则默认以e为底
- >>> math.log(8,2)
- 3.0
- >>> math.log(math.e,math.e) #要用e,必须要加math
- 1.0
- >>> math.log(8) #默认以e为底
- 2.0794415416798357
- >>>
os(操作系统的缩写):操作系统上的文件系统的
方法有很多,我会讲几个常用的,其他的教一种好用的学习方法
方法:
- help(os) #输入要了解的模块
- 按住ctrl点击里面的网址(网址为官网,如下图)
- 进入官网查询你需要了解的(官网可以调节中文的:在左上角)
- 退出help文档:ctrl 加 c
os.cpu_count() 获取cpu线程数
- >>> os.cpu_count()
- 20
os.curdir 获取当前目录(因为它是一个属性,不是方法,所以不需要加())
- >>> os.curdir
- '.' #当前文件,相对路径
- >>>
os.path.abspath(os.curdir) 获取当前绝对路径
- >>> os.path.abspath(os.curdir)
- 'C:\\Users\\朱俊杰'
- >>>
os.chdir() 修改工作目录
- >>> os.path.abspath(os.curdir)
- 'C:\\Users\\朱俊杰'
- >>> os.chdir("../") #../为返回上一级目录
- >>> os.path.abspath(os.curdir)
- 'C:\\Users'
- >>>
os.chmod() 修改权限(例:可读可写)(在Lunix系统下使用)
os.getcwd() 获取当前目录(绝对路径)
- >>> os.getcwd()
- 'C:\\Users'
- >>>
os.getpid() 获取进程编号
- >>> os.getpid()
- 26460
os.getppid() 获取父进程编号
- >>> os.getppid()
- 23280
- >>>
os.mkdir() 创建目录
makedirs() 创建多级目录
os.name 返回操作系统名称
- >>> os.name
- 'nt' #代表是windows
- >>>
os.remove() 移除
os.rename() 重命名
os.system("cls") 清屏
os.sep 返回文件分隔符(windows里为\\)
- >>> os.sep
- '\\'
- >>>
os.listdir([path]) 在列表中,返回当前目录中所有文件名称
以列表里字符串的形式返回
- >>> os.listdir(".")
- ['All Users', 'Default', 'Default User', 'desktop.ini', 'GLCache',
- 'Public', '朱俊杰', '鏈变繆鏉', '鏈变繆鏉癨AppData']
- >>> os.listdir("d:\\")
- ['$RECYCLE.BIN', '.idea', '73fee546e6777c712160fd43cddcd773',
- 'BaiduNetdiskDownload', 'BaiduSyncdisk', 'Config.Msi', 'c 语言',
- 'edge下载', 'ensp', 'JAVA', 'kali', 'Program Files', 'pycharm',
- 'python', 'steam', 'System Volume Information', 'venv', 'vmware',
- 'WindowsApps', 'winrar', 'WpSystem', 'WUDownloadCache', 'xlj',
- '云计算', '云计算1', '夸克网盘', '奖学金', '学校', '有道云笔记',
- '比特', '火狐下载', '腾讯会议', '腾讯会议录频', '谷歌下载', '软件',
- '配音', '金山打字通', '钉钉']
- >>>
os.scandir([path]) 返回的是当前目录中所有文件一个迭代器
- >>> a = os.scandir("d:\\")
- >>> for i in a:
- ... print(i)
- ...
'$RECYCLE.BIN'> '.idea'> '73fee546e6777c712160fd43cddcd773'> 'BaiduNetdiskDownload'> 'BaiduSyncdisk'> 'Config.Msi'> 'c语言'> 'edge下载'> 'ensp'> 'JAVA'> 'kali'> 'Program Files'> 'pycharm'> 'python'> 'steam'> 'System Volume Information'> 'venv'> 'vmware'> 'WindowsApps'> 'winrar'> 'WpSystem'> 'WUDownloadCache'> 'xlj'> - >>>
os.path 不在os里边,只是和os有一些内部关联
导入模块两种方法:
- import os (然后os.path.方法使用)
- from os import path (直接path.方法使用)
path.abspath(目录) 获取当前路径(绝对路径)
与 上面的 os.path.abspath(os.curdir) 相同
- >>> path.abspath(".")
- 'C:\\Users'
- >>>
path.basename(路径) 获取路径下的文件
- >>> path.basename("D:\\python\\Day10\\main.py")
- 'main.py'
注意:
- 路径外面要加 " "
- 分隔符要双 \\
path.dirname(路径) 获取路径下的文件前面的路径
- >>> path.dirname("D:\\python\\Day10\\main.py")
- 'D:\\python\\Day10'
- >>>
path.getctime(路径) 文件创建时间
path.getmtime(路径) 文件修改时间
path.getatime(路径) 文件最近一次修改的时间
path.exists(路径) 判断路径下的文件是否存在
- >>> path.exists("D:\\python\\Day10\\main.py")
- True
- >>> path.exists("D:\\python\\Day10\\ma.py")
- False
- >>>
path.getsize(路径) 路径(文件)的大小
- >>> path.getsize(".")
- 4096
path.isdir() 判断是否是文件夹
path.isfile() 判断是否是文件
path.join(前面路径,后面路径) 路径拼接
- >>> f="D:\\python\\Day10\\ma.py"
- >>> path.join(f,"a.mp3")
- 'D:\\python\\Day10\\ma.py\\a.mp3'
- >>>
前面路径+os.sep+后面路径 #os.sep路径分隔符
- >>> f="D:\\python\\Day10\\ma.py"
- >>> f + os.sep +"a.mp3"
- 'D:\\python\\Day10\\ma.py\\a.mp3'
- >>>