【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 函数名


其他章节的内容

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

相关推荐
C137的本贾尼6 小时前
从零认识 Spring AI:Java 开发者的 AI 第一课
python·langchain
源码之家6 小时前
计算机毕业设计:Pyhon健康数据分析系统 Django框架 数据分析 可视化 身体数据分析 大数据(建议收藏)✅
大数据·python·数据挖掘·数据分析·django·lstm·课程设计
weixin_444012937 小时前
如何在MongoDB中实现按时间跨度的分片路由_时间序列范围分片与冷热节点架构
jvm·数据库·python
无敌昊哥战神7 小时前
大模型(LLM)推理优化技术全景总结
python·算法·大模型
SeatuneWrite8 小时前
动态漫软件2026推荐,助力高效创作体验
人工智能·python
AC赳赳老秦8 小时前
文案策划提效:OpenClaw批量生成活动文案、宣传海报配文,适配不同渠道调性
java·大数据·服务器·人工智能·python·deepseek·openclaw
甄心爱学习8 小时前
【项目实训】法律文书智能摘要系统5
python·github
烟雨江南aabb8 小时前
Python第四弹:python进阶-匿名函数和内置函数
开发语言·python
TE-茶叶蛋8 小时前
Java 8 引入的Stream API-stream()
java·windows·python
小陈的进阶之路8 小时前
Python系列课(9)——面向对象
开发语言·python