python第四部分:模块(每日更新)

模块概念

创建的每一个python文件,都是模块

python的包和模块都要注意规范

python项目

-包1

.py文件1

.py文件2

-包2

....

-包3

模块分类

内置模块 --自带的模块,需要使用Import导入 如:import functools

自定义模块 --自己写的python文件,可以导入

第三方模块 --需要使用pip自行下载

-人工智能 scikit-learn

-数据分析 pandas

-机器学习

-深度学习

-计算机视觉 opencv

模块的导入方式

方式一:直接导入 import

-内置模块

-同文件夹下自定义模块

方式二:通过包导入 from 包名[.子包名] import 模块名

什么是python包?

具备一个非常重要的标识文件 init.py

init.py

一般用于标识这是一个python包

初始化高频的变量和函数

导入多个模块的问题

import 模块1, 模块2...

模块导入后实例问题

1.自定义模块的使用问题

复制代码
import my_module

# 1.测试自定义模块的基础信息
print(type(my_module))
print(help(my_module))
# 2.测试自定义模块内置函数
print(my_module.__name__) # 文件名
print(my_module.__doc__) # 写在开头的注释
# 3.测试模块中的自定义变量和函数
print(my_module.username)
print(my_module.password)
print(my_module.prinr_info("wangwu","111"))

2.动态导入问题

复制代码
# 4.测试动态导入
# 4.1使用内置函数 __import__ 不推荐使用,兼容性问题
m1 = __import__("math")
print(m1.pi)

# 4.2 外部库导入 --推荐
import importlib
m2 = importlib.import_module("math")
print(m2.pi)

print(m1 is m2)

常用内置模块

1.math模块

复制代码
import math,random

# 1.测试math
print(math.pi)
print(math.e)

# 取绝对值
print(math.fabs(-10)) # 10
# 向上取整
print(math.ceil(10.1)) # 11
print(math.floor(10.9)) # 10
# 求幂
print(math.pow(2,3)) # 8
# 开根号
print(math.sqrt(36)) # +6 因为计算机没有正负号

2.random模块

复制代码
# 2.测试random

# 取区间内的随机整数
print(random.randint(0,100))
# 取[0,1)之间的数字
print(random.random())
print(int(random.random()*100))
# 取指定范围及步长的随机数
print(random.randrange(30,100,2))
# 取容器中的随机元素
list_award = ["1QB","飞机","坦克","坦克"]
print(random.choice(list_award))

3.os模块

使用.表示当前目录

使用..表示父级目录

复制代码
import os

# 1.获取当前目录标识
print(os.curdir) # 这是一个变量

# 2.获取当前的cpu的线程数
print(os.cpu_count())

# 3.获取当前路径
print(os.getcwd())

# 4.获取当前的进程号
print(os.getpid())
print(os.getppid())

# 5.kill()
# print(os.kill()) #Windows中不要随便杀死进程

# 6.windows操作系统下的默认符号
# 路径分隔符
print(os.sep) # windows \  linux /

# 环境变量分隔符
print(os.pathsep) # ;

# 换行符
print(os.linesep)

# *7.返回所有的文件目录
print(os.listdir())
print(os.listdir(".."))

# 8.创建单个目录
os.mkdir("./test1") # 只能运行一次,第二次产生文件夹会报错

# 9.创建多个文件目录
os.makedirs("./testa/testb")

# 10.删除文件或目录
os.remove("./test1")

os.removedirs("./testa/testb")

# 11.执行windows命令
# 清屏
os.system("cls")

4.os.path

相对路径

相对于python当前路径的为参照物

绝对路径

从盘符开始的路径

当前路径

.

父级路径

. .

路径分隔符问题

/ linux默认路径分隔符

建议使用,兼容性考虑

\\ windows转义

\ windows默认路径分隔符

复制代码
import os.path as p

# 1.返回绝对路径
print(p.abspath("."))

# 2.查看cpython下默认的路径分隔符
print(p.altsep) # /

# 3.获取目录的名称
print(p.basename("./04python_module./4.5python_os_path.py")) # 4.5python_os_path.py

# 4.获取文件所在的目录
print(p.dirname("./04python_module./4.5python_os_path.py")) # ./04python_module.

# 5.判断目录或文件是否存在
print(p.exists("./04python_module"))

# 6.判断文件的大小
## 可以省略./
print(p.getsize("./code/04python_module/test.txt"))

# 7.判断问题
## 判断是否为目录
print(p.isdir("./code/04python_module")) # T

# 8.分割路径 将当前文件和文件所在目录拆分,并返回一个元组
print(p.isfile("D:/云计算3/code/04python_module/4.5python_os_path.py"))

# 9.**拼接路径
## python提供的路径分隔符
print(p.sep) # \

## 定义父子路径
p_path = "D:/云计算3/code/04python_module/"
c_path = "4.5python_os_path.py"

## 路径拼接的问题
new_path = p.join(p_path,c_path)
# new_path = p_path + "/" + c_path
# new_path = p_path + "\\" + c_path
# new_path = p_path + p.sep + c_path

print(p.isfile(new_path)) # True

5.sys

了解即可

复制代码
import sys
# 1.获取python版本的内部号
print(sys.api_version)

# 2.cpython版权信息
print(sys.copyright)

# 3.获取默认的编码
print(sys.getdefaultencoding()) # utf-8

# 4.获取文件系统的默认编码
print(sys.getfilesystemencoding()) # utf-8

# 5.递归的最大深度
print(sys.getrecursionlimit())

# 6.获取窗口的版本信息
print(sys.getwindowsversion())

# 7.获取版本信息
print(sys.version)

6.uuid

了解即可

复制代码
# uuid,产生一个随机的且唯一的序列  不算完全唯一
import uuid
res = uuid.uuid4()
print(res) 
# 转为整数形式
print(res.hex)
相关推荐
猪八戒1.02 小时前
L C D
开发语言·stm32
wjs20242 小时前
NumPy 创建数组
开发语言
喵手2 小时前
Python爬虫零基础入门【第九章:实战项目教学·第2节】“接口优先“项目:从 Network 还原 JSON 接口分页!
爬虫·python·python爬虫实战·python爬虫工程化实战·python爬虫零基础入门·接口优先·json接口分页
黎雁·泠崖2 小时前
Java继承细节:子类继承父类成员的底层逻辑
java·开发语言
将心ONE2 小时前
QwenTTS 预设音色
python
冷雨夜中漫步2 小时前
Java中strip与trim()的区别
java·开发语言
xb11322 小时前
C#多线程编程入门概念
开发语言
froginwe112 小时前
PostgreSQL HAVING 子句详解
开发语言
yugi9878382 小时前
基于MATLAB的延迟求和(DAS)波束形成算法实现
开发语言·算法·matlab