个人主页:天寒雨落的博客_CSDN博客-初学者入门C语言,python,数据库领域博主
💬 热门专栏:python_天寒雨落的博客-CSDN博客
每日赠语:没有窘迫的失败,就不会有自豪的成功;失败不可怕,只要能从失败中站起来。
目录
一、概述
1.模块
优点
2.包
3.库
4.模块、包或库的导入
二、常用标准库模块
1.turtle(绘制线条、圆及其他形状(文本)图形的模块)
1.画布
2.画笔
2.random(生成随机数的模块)
1.random.random()函数
2.random.uniform()函数
3.random.randint()函数
4.random.randrange()函数
5.random.choice()函数
6.random.sample()函数
7.random.shuffle()函数
3.time(格式化日期和时间的模块)和datetime(日期和时间处理的模块)
time模块
datatime模块
4.os(提供使用操作系统功能和访问文件系统简便方法的模块)
1.获取平台信息
2.目录、文件操作
3.os.path模块获取文件属性
4.调用系统命令
5.sys(提供对Python解释器相关操作的模块)
sys.platform
sys.getsizeof()
6.timeit(性能度量的模块)
举例
7.zlib(数据打包盒压缩的模块)
举例
三、第三方库
1.NumPy
np.array()函数
2.Pandas
pandas.Series(data,index,dtype,copy)
pandas.DataFrame(data,index,columns,dtype,copy)
3.SciPy
4.Matplotlib
5.Jieba
6.PyInstaller
四、典型案例
代码实现
执行结果
一、概述
1.模块
在Python中,模块是一个以.py 结尾的Python文件,包含了 Python 对象和语句。
优点
- 方便组织代码。
- 提高代码的可维护性。
- 增加代码的重用性。
- 避免函数名和变量名冲突。
2.包
Python模块文件所在的目录,并且在该目录下必须有一个名为_init_.py的文件(Python3.3之前必须,之后不是必须)
3.库
具有相关功能的包和模块集合,如Python标准库、NumPy库等。
4.模块、包或库的导入
- 导入整个模块模块、包和库。格式为:import模块名 [as 别名]。
- 导入单个对象。格式为:from模块名import对象 [as 别名]。
- 导入多个对象。格式为:from模块名import对象1,对象2, …。
- 导入全部对象。格式为:from模块名import *。
二、常用标准库模块
1.turtle(绘制线条、圆及其他形状(文本)图形的模块)
turtle是Python内嵌的绘制线、圆及其他形状(包括文本)的图形模块。
1.画布
画布是turtle模块展开用于绘图的区域。
turtle.screensize()函数:设置画布。一般格式:turtle.screensize(width,height,bg)。
参数对应的分别是宽,高,背景颜色。
turtle.setup()函数:设置画布。一般格式:turtle.setup(width,height,startx,starty)。
参数对应的分别是宽,高,画布左上角顶点在窗口的坐标位置。
2.画笔
(1)画笔状态:turtle模块绘图使用位置方向描述画笔的状态。
(2)画笔属性:画笔的属性包括画笔的颜色、宽度和移动速度等。
- turtle.pensize(width):设置画笔宽度width,数字越大,画笔越宽。
- turtle.pencolor(color):设置画笔颜色color,可以是字符串如"red"、"yellow",或RGB格式。
- turtle.speed(speed):设置画笔移动速度speed,范围为[0,10]的整数,数字越大,画笔移动的速度越快。
(3)绘图命令:操纵turtle模块绘图有许多命令,通过相应函数完成。绘图命令通常分为三类:画笔运动命令、画笔控制命令和全局控制命令。
2.random(生成随机数的模块)
1.random.random()函数
用于生成一个[0, 1)之间的随机浮点数。
2.random.uniform()函数
用于生成一个指定范围内的随机浮点数。一般格式为:random.uniform(a,b)
3.random.randint()函数
用于生成一个指定范围内的整数。一般格式为:random.randint(a,b)
4.random.randrange()函数
用于生成指定范围、指定步长的随机整数。一般格式为:random.randrange([start],stop[,step])
5.random.choice()函数
从序列对象中获取一个随机元素。一般格式为:random.choice(sequence)
6.random.sample()函数
从指定序列对象中随机获取指定长度的片段。一般格式为:random.sample(sequence,k)
7.random.shuffle()函数
用于将一个序列对象中的元素打乱。一般格式为:random.shuffle(sequence[,random])
3.time(格式化日期和时间的模块)和datetime(日期和时间处理的模块)
time模块
主要用于时间访问和转换,提供了各种与时间相关的函数。
datatime模块
date类
from datetime import date
date类为日期类。
创建一个date对象的一般格式为:d = datetime.date(year,month,day)
time类
from datetime import time
time类为时间类。
创建一个time对象的一般格式为:t = time(hour,[minute[,second,[microsecond[,tzinfo]]]])
datetime类
from datetime import datetime
datetime类为日期时间类。
一般格式为:dt = datetime(year,month,day,hour,minute,second,microsecond,tzinfo)
4.os(提供使用操作系统功能和访问文件系统简便方法的模块)
1.获取平台信息
使用os模块的一些属性和方法可以获取系统平台的相关信息。
方法 | 功能说明 |
os.getcwd() | 获取当前工作目录 |
os.listdir(path) | 获取path目录下的文件和目录列表 |
os.environ | 包含系统环境变量和值的字典 |
os.name | 查看当前系统平台 |
os.extsep | 当前操作系统所使用的文件扩展名分隔符 |
os.sep | 当前操作系统所使用的路径分隔符 |
os.pathsep | 查看用于分割文件路径的字符串 |
os.linesep | 查看当前平台使用的行终结符 |
os.get_exec_path() | 返回可执行文件的搜索路径 |
2.目录、文件操作
方法 | 功能说明 |
os.chdir(path) | 把path设为当前工作目录 |
os.mkdir(newdir) | 创建新目录newdir |
os.rmdir(dir) | 删除目录dir |
os.listdir(path) | 列出指定目录path下所有文件 |
os.curdir | 当前文件夹 |
os.remove(path) | 删除指定的文件,要求用户拥有删除文件的权限,并且文件没有只读或其他特殊属性 |
os.rename(src, dst) | 重命名文件或目录,可以实现文件的移动,若目标文件已存在则抛出异常,不能跨越磁盘或分区 |
os.replace(old, new) | 重命名文件或目录,若目标文件已存在则直接覆盖,不能跨越磁盘或分区 |
os.scandir(path='.') | 返回包含指定文件夹中所有DirEntry对象的迭代对象,遍历文件夹时比listdir()更加高效 |
os.startfile(filepath [, operation]) | 使用关联的应用程序打开指定文件或启动指定应用程序 |
3.os.path模块获取文件属性
方法 | 功能说明 |
os.path.abspath(path) | 返回给定路径的绝对路径 |
os.path.basename(path) | 返回指定路径的最后一个组成部分(即文件名) |
os.path.commonpath(paths) | 返回给定的多个路径的最长公共路径 |
os.path.commonprefix(paths) | 返回给定的多个路径的最长公共前缀 |
os.path.dirname(p) | 返回给定路径的文件夹部分 |
os.path.exists(path) | 判断文件是否存在 |
os.path.getatime(filename) | 返回文件的最后访问时间 |
os.path.getctime(filename) | 返回文件的创建时间 |
os.path.getmtime(filename) | 返回文件的最后修改时间 |
os.path.getsize(filename) | 返回文件的大小 |
4.调用系统命令
- os.popen(cmd[, mode[, bufsize]]):用于由一个命令打开一个管道。
- os.system(shell):运行shell命令。
5.sys(提供对Python解释器相关操作的模块)
“sys”即“system”,“系统”之意。该模块提供了一些接口,用于访问 Python 解释器自身使用和维护的变量,同时模块中还提供了一部分函数,可以与解释器进行比较深度的交互。
sys.platform
可以得到关于运行平台更详细的信息。
sys.getsizeof()
返回的是作用对象所占用的字节数。
sys.exit(arg)
退出程序机制
6.timeit(性能度量的模块)
举例
测试函数myFun()中代码的执行时间。
代码
import timeit
def myFun():
sum = 0
for i in range(1,100):
for j in range(1,100):
sum = sum + i * j
t1 = timeit.timeit(stmt=myFun,number=1000)
print("t1:",t1)
t2 = timeit.repeat(stmt=myFun,number=1000, repeat=6)
print("t2:",t2)
执行结果
7.zlib(数据打包盒压缩的模块)
举例
使用zlib模块对字符串进行压缩和解压缩。
代码
import zlib
str = b'python,python,python'
print("压缩前: %s,字符个数%d."%(str,len(str)))
str_com = zlib.compress(str)
print("压缩后: %s, 字符个数%d."%(str_com,len(str_com)))
str_dec = zlib.decompress(str_com)
print("解压后: %s, 字符个数%d."%(str_dec,len(str_dec)))
执行结果
三、第三方库
1.NumPy
NumPy是基于Python的一种开源数值计算第三方库,它支持高维数组运算、大型矩阵处理、矢量运算、线性代数运算、随机数生成等功能。
np.array()函数
一般格式为:numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)
- object为数组或嵌套的数列。
- dtype为数组元素的数据类型。
- copy指定对象是否需要复制。
- order为创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)。
- subok指定默认返回一个与基类类型一致的数组。
- ndmin为指定生成数组的最小维度。
2.Pandas
Pandas是基于NumPy库的一种解决数据分析任务的工具库。主要功能有:创建Series(系列)和DataFrame(数据帧)、索引选取和过滤、算术运算、数据汇总和描述性统计、数据排序和排名、处理缺失值和层次化索引等。
pandas.Series(data,index,dtype,copy)
能保存字符串、Bool值、数字等不同的数据类型。
- data:数据,采取各种形式,如ndarray、list、constants等。
- index:索引值,必须是唯一的和散列的。
- dtype:数据类型。
- copy:复制数据,默认为False。
pandas.DataFrame(data,index,columns,dtype,copy)
创建一个数据帧,数据帧是二维的表格型数据结构,即数据以行和列的表格方式排列。与系列相比,数据帧使用得更普遍。
- data:数据,可以是各种类型,如ndarray、series、lists、dict、 constant或DataFrame等。
- index,columns:分别为行标签和列标签。
- dtype:每列的数据类型。
- copy:复制数据,默认值为False。
3.SciPy
SciPy库是一款方便、易于使用、专为科学和工程设计的工具库,包括统计、优化、整合、线性代数、傅里叶变换、信号和图像处理、常微分方程求解等。
- scipy.constants(数学常量)
- scipy.fftpack(快速傅里叶变换)
- scipy.integrate(积分)
- scipy.optimize(优化算法)
- scipy.stats(统计函数)
- scipy.special(特殊数学函数)
- scipy.signal(信号处理)
- scipy.ndimage(N维图像)
4.Matplotlib
Matplotlib是一个基于Python、跨平台、交互式的2D绘图库,以各种硬拷贝格式生成出版质量级别的图形。
5.Jieba
中文分词是中文文本处理的一个基础步骤。 在进行中文自然语言处理时,通常需要先进行分词。现在非常流行的、开源的中文分词库是Jieba。Jieba分词算法使用基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能生成词情况所构成的有向无环图(DAG);采用动态规划查找最大概率路径,找出基于词频的最大切分组合。
6.PyInstaller
用来打包Python应用程序。打包时,Pyinstaller库会扫描Python程序的所有文档,分析所有代码找出代码运行所需的模块,然后将所有这些模块和代码放在一个文件夹里或一个可执行文件里。 用户就不用下载各种软件运行环境,如各种版本的Python和各种不同的包,只需要执行打包好的可执行文件就可以使用软件了。
四、典型案例
使用turtle绘制表面填充正方体
代码实现
import turtle #导入模块.
#画正方体正面.
n = 100 #正方体边长.
turtle.penup()
turtle.goto(-100,-50)
turtle.pendown()
turtle.pencolor('red') #画笔颜色为红色.
turtle.begin_fill()
turtle.fillcolor('red') #填充颜色为红色.
for i in range(4):
turtle.forward(n)
turtle.left(90)
turtle.end_fill()
#画正方体顶面.
turtle.penup()
turtle.goto(-100,n-50)
turtle.pendown()
turtle.pencolor('green') #画笔颜色为绿色.
turtle.begin_fill()
turtle.fillcolor('green') #填充颜色为绿色.
turtle.left(45)
turtle.forward(int(n * 0.6)) #倾斜边长为60.
turtle.right(45)
turtle.forward(n)
turtle.left(360 - 135)
turtle.forward(int(n * 0.6)) #倾斜边长为60.
turtle.end_fill()
#画正方体右侧面.
turtle.left(45)
turtle.penup()
turtle.goto(n-100,-50)
turtle.pendown()
turtle.pencolor('blue') #画笔颜色为蓝色.
turtle.begin_fill()
turtle.fillcolor('blue') #填充颜色为蓝色.
turtle.left(135)
turtle.forward(int(n * 0.6)) #倾斜边长为60.
turtle.left(45)
turtle.forward(n)
turtle.left(135)
turtle.forward(int(n * 0.6)) #倾斜边长为60.
turtle.right(90)
turtle.end_fill()
turtle.done()
执行结果
👍+✏️+⭐️是对博主最大的鼓励与支持!!!