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


其他章节的内容

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

相关推荐
CodeCraft Studio3 小时前
PDF处理控件Aspose.PDF教程:使用 Python 将 PDF 转换为 Base64
开发语言·python·pdf·base64·aspose·aspose.pdf
困鲲鲲4 小时前
Python中内置装饰器
python
摩羯座-185690305944 小时前
Python数据可视化基础:使用Matplotlib绘制图表
大数据·python·信息可视化·matplotlib
爱隐身的官人5 小时前
cfshow-web入门-php特性
python·php·ctf
gb42152875 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
THMAIL6 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
~-~%%6 小时前
从PyTorch到ONNX:模型部署性能提升
人工智能·pytorch·python
蒋星熠6 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
爬虫程序猿6 小时前
《京东商品详情爬取实战指南》
爬虫·python
胡耀超6 小时前
4、Python面向对象编程与模块化设计
开发语言·python·ai·大模型·conda·anaconda