【Python】模块和包

文章目录

  • 概要
  • 一、模块
    • [1.1 导入模块](#1.1 导入模块)
    • [1.2 删除模块、查看模块的变量及函数](#1.2 删除模块、查看模块的变量及函数)
    • [1.3 'name'变量](#1.3 ‘name’变量)
    • [1.4 sys模块](#1.4 sys模块)
  • 二、包
    • [2.1 包的初始化](#2.1 包的初始化)
    • [2.2 从包导入模块](#2.2 从包导入模块)
  • 其他章节的内容

概要

本文讲了模块和包的一些使用方法。


一、模块

模块就是py文件,里面存有该文件的变量和函数,学习模块的知识,可以在编写程序时调用其他py文件。同时模块还可以有效防止变量名和函数名重名。

1.1 导入模块

1.1.1 导入整个模块:

import 模块名

1.1.2 另一种导入模块的方式:

from 模块名 import *

以上两种导入方式的区别是前者在使用模块内函数时要加模块名即模块名.函数,后者在使用时可直接用函数名调用函数。

1.1.3 给模块取别名:

import 模块名 as 别名

1.1.4 导入模块内某一函数:

from 模块名 import 函数名

1.2 删除模块、查看模块的变量及函数

1.2.1 在运行时删除模块,以节约内存:

del 模块名

1.2.2 查看模块信息:

dir(模块名)

如果没有参数则显示全局命名空间的变量和函数。

1.3 'name'变量

变量' name '的值是模块名,当且仅当这个模块被用作主函数调用时为' main ',这给调试模块和调用模块提供了便利,例如我们判断该模块目前是作为主函数还是作为模块被调用时可以用如下语句:

if name == "mian"

1.4 sys模块

一个程序只能调用与他在同一目录下或在模块搜索路劲中的模块,这些路径可以通过sys模块来查询和修改。

print(sys.path)

sys.path.appnd(新的模块路径) # 这个路径应该是模块的目录,不应包含模块名

其他sys模块的函数

函数名 函数功能
sys.argv 从程序外部向程序传递参数
sys.exit[arg] 程序退出,arg=0为正常退出
sys.getdefaultencoding 获取系统当前编码
sys.setdefaultencoding 设置系统默认编码
sys.getfilesystemencoding 获取文件系统当前编码
sys.path 获取模块搜索路径的列表
sys.platform 获取当前系统平台
sys.stdin sys.stdout sys.stderr 这些变量包含与I/O流对应的流对象

二、包

包的作用除了防止模块名重名,还有管理内容的作用,一般我们将相同类型的模块也就是py文件放到同一个包下,来对模块进行管理。

2.1 包的初始化

每个包中都应该有一个__init__.py文件,该文件可以是空文件,也可以写一些有关包初始化的内容。

2.2 从包导入模块

2.2.1 直接导入某个包的模块:

import 包名.模块名

2.2.2 另一种导入方式:

from 包名 import 模块名

2.2.3 导入包内某一模块的变量或函数:

from 包名.模块名 import 函数名


其他章节的内容

序列
集合与字典
函数
模块和包
异常
文件

相关推荐
溪海莘17 分钟前
如何部署使用uv管理依赖的python项目 ?
开发语言·python·uv
我送炭你添花19 分钟前
Python与串口:从基础到实际应用——以Pelco KBD300A模拟器项目为例
开发语言·python·自动化·运维开发
高洁0142 分钟前
CLIP 的双编码器架构是如何优化图文关联的?(2)
python·深度学习·机器学习·知识图谱
m0_626535201 小时前
快速排序学习 l方法 h方法
开发语言·python
brent4231 小时前
DAY49 预训练模型
python
清水白石0082 小时前
深入 Python 的底层世界:从 C 扩展到 ctypes 与 Cython 的本质差异全解析
c语言·python·neo4j
Amelia1111112 小时前
day49
python
IT=>小脑虎2 小时前
2026版 Python零基础小白学习知识点【基础版详解】
开发语言·python·学习
我想吃烤肉肉2 小时前
Playwright中page.locator和Selenium中find_element区别
爬虫·python·测试工具·自动化
rabbit_pro2 小时前
Java使用Mybatis-Plus封装动态数据源工具类
java·python·mybatis