当前位置: 首页 > news >正文

Day 11 python学习笔记

模块


内置模块

random

random:随机数模块

我们可以在解释器中看到其蕴含的方法

接下来我解释一些常用的方法:

random.random( )

random.random( )        返回0-1的随机数  [0,1)

>>> random.random()
0.364183511476754

random.randint(n,m)

random.randint(n,m)      返回[n,m]的整数随机数

>>> random.randint(5,10)
7

random.randrange(n,m)

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) 

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])           随机列举有序序列中的一个值

>>> 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(列表)

random.shuffle(列表)        洗牌打乱

>>> list1 = [1,2,3,4,5,6]
>>> random.shuffle(list1)
>>> list1
[4, 1, 6, 3, 2, 5]
>>>

math

math:数学模块

math.e、math.pi(π)

math.e         

math.pi

>>> math.e
2.718281828459045
>>> math.pi
3.141592653589793
>>>

math.ceil(浮点型数字)

math.ceil(浮点型数字)        向上取整

>>> math.ceil(3.00001)
4
>>> math.ceil(3.00000000000001)
4
>>> math.ceil(3.000000000000000000000001)   #注意:取整还是有一定限度的
3

math.floor(浮点型数字)

math.floor(浮点型数字)        向下取整

>>> math.floor(3.99999)
3
>>> math.floor(3.9999999999999)
3
>>> math.floor(3.99999999999999999999999)  #同理,也是有一定限度的
4
>>>

round(浮点型数字)

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(被次方数,次方数)        求次方(结果为浮点数)

>>> math.pow(2,3)
8.0
>>> math.pow(2,4)
16.0
>>>

math.sqrt(被开平方数)

math.sqrt(被开平方数)        开平方根(结果为浮点数)

>>> math.sqrt(9)
3.0
>>> math.sqrt(4)
2.0
>>> math.sqrt(8)
2.8284271247461903
>>>

math.fabs(数字)

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(数字)

abs(数字)                求绝对值(全局函数内的,无需声明math)

>>> abs(-11.11)
11.11
>>>

math.log(对数,底数)

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

os(操作系统的缩写):操作系统上的文件系统的

方法有很多,我会讲几个常用的,其他的教一种好用的学习方法

方法:

  1. help(os)     #输入要了解的模块
  2. 按住ctrl点击里面的网址(网址为官网,如下图)
  3. 进入官网查询你需要了解的(官网可以调节中文的:在左上角)
  4. 退出help文档:ctrl 加 c

os.cpu_count()

os.cpu_count()        获取cpu线程数

>>> os.cpu_count()
20

os.curdir

os.curdir               获取当前目录(因为它是一个属性,不是方法,所以不需要加())

>>> os.curdir
'.'          #当前文件,相对路径
>>>

 os.path.abspath(os.curdir)

 os.path.abspath(os.curdir)               获取当前绝对路径

>>> os.path.abspath(os.curdir)
'C:\\Users\\朱俊杰'
>>>

os.chdir()

os.chdir()           修改工作目录

>>> os.path.abspath(os.curdir)
'C:\\Users\\朱俊杰'
>>> os.chdir("../")    #../为返回上一级目录
>>> os.path.abspath(os.curdir)
'C:\\Users'
>>>

os.chmod()

os.chmod()                修改权限(例:可读可写)(在Lunix系统下使用)

os.getcwd()

os.getcwd()                获取当前目录(绝对路径)

>>> os.getcwd()
'C:\\Users'
>>>

os.getpid()

os.getpid()                获取进程编号

>>> os.getpid()
26460

os.getppid()

os.getppid()        获取父进程编号

>>> os.getppid()
23280
>>>

os.mkdir()

os.mkdir()                    创建目录

os.makedirs()

makedirs()                    创建多级目录

os.name

os.name                返回操作系统名称

>>> os.name
'nt'       #代表是windows
>>>

os.remove()

os.remove()                移除

os.rename()

os.rename()             重命名  

os.system("cls")

os.system("cls")                清屏

os.sep

os.sep                  返回文件分隔符(windows里为\\)

>>> os.sep
'\\'
>>>

os.listdir([path])

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])

os.scandir([path])                返回的是当前目录中所有文件一个迭代器

>>> a = os.scandir("d:\\")
>>> for i in a:
...     print(i)
...
<DirEntry '$RECYCLE.BIN'>
<DirEntry '.idea'>
<DirEntry '73fee546e6777c712160fd43cddcd773'>
<DirEntry 'BaiduNetdiskDownload'>
<DirEntry 'BaiduSyncdisk'>
<DirEntry 'Config.Msi'>
<DirEntry 'c语言'>
<DirEntry 'edge下载'>
<DirEntry 'ensp'>
<DirEntry 'JAVA'>
<DirEntry 'kali'>
<DirEntry 'Program Files'>
<DirEntry 'pycharm'>
<DirEntry 'python'>
<DirEntry 'steam'>
<DirEntry 'System Volume Information'>
<DirEntry 'venv'>
<DirEntry 'vmware'>
<DirEntry 'WindowsApps'>
<DirEntry 'winrar'>
<DirEntry 'WpSystem'>
<DirEntry 'WUDownloadCache'>
<DirEntry 'xlj'>
>>>

os.path

os.path    不在os里边,只是和os有一些内部关联

导入模块两种方法:

  1. import os   (然后os.path.方法使用)
  2. from os import path   (直接path.方法使用)

path.abspath(目录)

path.abspath(目录)         获取当前路径(绝对路径)

与 上面的  os.path.abspath(os.curdir) 相同

>>> path.abspath(".")
'C:\\Users'
>>>

path.basename(路径)

path.basename(路径)                获取路径下的文件

>>> path.basename("D:\\python\\Day10\\main.py")
'main.py'

注意:

  1. 路径外面要加  " "
  2. 分隔符要双 \\

path.dirname(路径)

path.dirname(路径)                获取路径下的文件前面的路径

>>> path.dirname("D:\\python\\Day10\\main.py")
'D:\\python\\Day10'
>>>

path.getctime(路径)

path.getctime(路径)       文件创建时间

path.getmtime(路径)

path.getmtime(路径)       文件修改时间

path.getatime(路径)

path.getatime(路径)       文件最近一次修改的时间

path.exists(路径)

path.exists(路径)                判断路径下的文件是否存在

>>> path.exists("D:\\python\\Day10\\main.py")
True
>>> path.exists("D:\\python\\Day10\\ma.py")
False
>>>

 path.getsize(路径)

 path.getsize(路径)          路径(文件)的大小

>>> path.getsize(".")
4096

path.isdir()

path.isdir()                判断是否是文件夹

path.isfile()

path.isfile()                  判断是否是文件

path.join(前面路径,后面路径)

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'
>>>

相关文章:

  • Linux系统下配置王爽汇编语言环境
  • SQL注入原理及思路(mysql)
  • 【ChatGPT系列】ChatGPT:创新工具还是失业威胁?
  • 导入Embassy库进行爬虫
  • 上海高考英语科目命题趋势和备考建议,附1990-2023真题解析
  • 网络安全—小白自学
  • 磨人的Ts
  • java中的内存分配
  • mysql用户及权限管理(InsCode AI 创作助手)
  • 通过阿里云创建accessKeyId和accessKeySecret
  • Ubuntu 22.04自动登录进入桌面
  • 人脸识别测试数据分析
  • 软考 系统架构设计师系列知识点之设计模式(4)
  • 用k3s搭建Kubernetes环境
  • SpringMVC原理及核心组件
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • android图片蒙层
  • CentOS7 安装JDK
  • Date型的使用
  • extract-text-webpack-plugin用法
  • java概述
  • learning koa2.x
  • Linux下的乱码问题
  • Node 版本管理
  • win10下安装mysql5.7
  • 阿里研究院入选中国企业智库系统影响力榜
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 好的网址,关于.net 4.0 ,vs 2010
  • ------- 计算机网络基础
  • 区块链共识机制优缺点对比都是什么
  • 实现简单的正则表达式引擎
  • 用简单代码看卷积组块发展
  • 智能网联汽车信息安全
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (1)STL算法之遍历容器
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (javascript)再说document.body.scrollTop的使用问题
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (vue)页面文件上传获取:action地址
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计ssm电影分享网站
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (原創) 物件導向與老子思想 (OO)
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET 8.0 中有哪些新的变化?
  • .NET gRPC 和RESTful简单对比
  • .NET Standard 的管理策略
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .net的socket示例
  • .NET的数据绑定