一篇快速搞懂python模块

简介: 一篇快速搞懂python模块

一、概述

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)

执行结果

image.png

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

执行结果

image.png

相关文章
|
2月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
61 4
|
24天前
|
Python
Python Internet 模块
Python Internet 模块。
121 74
|
2月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
123 63
|
2月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
3天前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
18 3
|
2月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
2月前
|
JSON Linux 数据格式
Python模块:从入门到精通,只需一篇文章!
Python中的模块是将相关代码组织在一起的单元,便于重用和维护。模块可以是Python文件或C/C++扩展,Python标准库中包含大量模块,如os、sys、time等,用于执行各种任务。定义模块只需创建.py文件并编写代码,导入模块使用import语句。此外,Python还支持自定义模块和包,以及虚拟环境来管理项目依赖。
Python模块:从入门到精通,只需一篇文章!
|
2月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
48 5
|
2月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
2月前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
71 5
下一篇
开通oss服务