Python中模块和包基础学习

简介: Python中模块和包基础学习

模块


Python中的模块是指一个文件,可以包含函数、类、变量和可执行代码等,并且可以被其他程序引入和使用。使用模块可以使得代码更加模块化和易于维护。


Python中的模块分为两种类型:内置模块和外部模块。内置模块是指Python自带的模块,如math、random、datetime等,可以直接使用。外部模块是指需要通过pip等工具安装的模块,如numpy、pandas等。


Python中的模块可以通过import语句引入,例如:

import math 
print(math.pi)

上述代码中,引入了math模块,并输出了pi这个变量。

引入模块

除了import语句之外,Python还提供了其他几种方式来引入模块,如from...import语句、import...as语句等。下面是一些模块操作的代码示例:


使用from...import语句引入模块中的指定变量或函数

1. from math import pi 
2. 
3. print(pi)

上述代码中,我们只引入了math模块中的pi变量,而没有引入其他内容。

使用import...as语句给模块起别名

1. import math as m 
2. 
3. print(m.pi)

上述代码中,我们使用import...as语句给math模块起了一个别名m,并输出了pi这个变量。

使用dir()函数查看模块中的所有变量和函数

1. import math 
2. 
3. print(dir(math))


上述代码中,我们使用dir()函数查看了math模块中的所有变量和函数。

使用__name__变量判断模块是被导入还是直接执行

if __name__ == '__main__': 
    print('This is the main program.') 
else: 
    print('This is a module.') 


上述代码中,我们使用__name__变量判断模块是被导入还是直接执行,如果是直接执行,则输出This is the main program.,否则输出This is a module.。


以上是一些Python模块的基本介绍和操作示例。在实际开发中,模块的使用和操作也是非常常见和重要的,熟练掌握这些知识点可以提高代码的复用性和可维护性。



在 Python 中,包(Package)是一个有层次结构的文件目录,其中包含了模块(Module)和子包(Subpackage)。包的作用是将模块组织在一起,提供更好的命名空间管理和模块复用机制。


Python 中的包需要满足以下两个条件:


1. 包目录下必须包含一个名为 __init__.py 的文件。这个文件可以是空文件,也可以包含一些 Python 代码。


2. 包目录必须在 Python 的模块搜索路径中。


下面是一个包的示例,其中 mypackage 是包的名称,__init__.py 文件是必需的。

mypackage/
 ├── __init__.py 
 ├── module1.py
 ├── module2.py
 └── subpackage/
   ├── __init__.py
   └── module3.py 


在这个示例中,mypackage 是一个包,它包含了两个模块 module1.py 和 module2.py,还包含了一个子包 subpackage,子包中包含了一个模块 module3.py。


包中的模块可以通过 import 语句来使用。例如,要使用 module1.py 中定义的函数,可以使用以下代码:

from mypackage import module1 
module1.my_function() 

如果要使用子包中的模块,可以使用以下代码:

1. from mypackage.subpackage import module3 
2. 
3. module3.my_function()


注意

在使用包时,需要注意以下几点:


1.包目录名不能和 Python 内置模块名相同,否则会导致导入内置模块时出错。


2.包名应该遵循小写字母、单词之间用下划线分隔的命名规范,这样可以提高代码的可读性。


3.在 __init__.py 文件中可以定义包级别的变量和函数,这些变量和函数可以被包中的模块共享。


4.在包的 __init__.py 文件中可以使用 __all__ 变量来指定包的公共接口,只有 __all__ 中列出的模块和变量才会被导入到 from mypackage import * 语句中。


示例


下面是一个包的示例,包含了一个 __init__.py 文件和一个模块 module1.py:

1. mypackage/
2.  ├── __init__.py
3.  └── module1.py


__init__.py 文件中定义了一个变量 __version__ 和一个函数 my_function():


1. __version__ = '1.0.0'
2. 
3. def my_function(): 
4. print('Hello from my_function()')

module1.py 中使用了包中的变量和函数:

from mypackage import __version__, my_function
def main():
    print(f'My package version is {__version__}')
    my_function()
if __name__ == '__main__':
    main()


相关文章
|
10天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
26 5
|
20天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
23天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
69 5
|
27天前
|
Python
SciPy 教程 之 SciPy 模块列表 6
SciPy教程之常量模块介绍:涵盖公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率及力学单位。示例展示了角度单位转换为弧度的几个常用常量。
19 7
|
27天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
18 6
|
24天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
18 1
|
25天前
|
XML 前端开发 数据格式
超级详细的python中bs4模块详解
Beautiful Soup 是一个用于从网页中抓取数据的 Python 库,提供了简单易用的函数来处理导航、搜索和修改分析树。支持多种解析器,如 Python 标准库中的 HTML 解析器和更强大的 lxml 解析器。通过简单的代码即可实现复杂的数据抓取任务。本文介绍了 Beautiful Soup 的安装、基本使用、对象类型、文档树遍历和搜索方法,以及 CSS 选择器的使用。
55 1
|
26天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
15 1
|
26天前
|
Python
SciPy 教程 之 SciPy 模块列表 8
SciPy教程之常量模块单位类型介绍。该模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例展示了部分长度单位的转换值,例如英寸、英尺、海里等。
16 1
|
27天前
|
知识图谱 Python
SciPy 教程 之 SciPy 模块列表 5
本教程介绍SciPy常量模块中的单位类型,涵盖公制、质量、时间、长度等单位。示例代码展示了如何使用`scipy.constants`模块获取不同质量单位的千克值,如公吨、磅、盎司、原子质量单位等。
15 1
下一篇
无影云桌面