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


其他章节的内容

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

相关推荐
小爬虫程序猿32 分钟前
Python爬虫:深度解析商品详情的自动化之旅
爬虫·python·自动化
数学人学c语言35 分钟前
从熟练Python到入门学习C++(record 6)
c++·python·学习
Tony_long74835 小时前
Python学习——猜拳小游戏
开发语言·python·学习
陈苏同学5 小时前
机器翻译 & 数据集 (NLP基础 - 预处理 → tokenize → 词表 → 截断/填充 → 迭代器) + 代码实现 —— 笔记3.9《动手学深度学习》
人工智能·pytorch·笔记·python·深度学习·自然语言处理·机器翻译
股票GPT分析6 小时前
《Python 股票交易分析:开启智能投资新时代》(二)
大数据·服务器·python·c#·fastapi
大熊程序猿6 小时前
python Flask指定IP和端口
开发语言·python·flask
我叫白小猿6 小时前
【大模型-智能体】AutoGen Studio测试和导出工作流程
人工智能·python·workflow·工作流·智能体·autogen
K2SO4钾6 小时前
16. 清理Python包管理工具(pip 和 conda)的缓存和冗余文件
python·conda·pip
YONG823_API6 小时前
1688商品数据采集API的测试对接步骤分享(提供免费测试key)
开发语言·数据库·爬虫·python·数据挖掘
好看资源平台6 小时前
网络爬虫总结与未来方向
爬虫·python