模块和包

本文深入探讨了Python中模块和包的概念,讲解了如何通过模块化编程提高代码的可维护性,以及不同模块的类型和调用方式,包括标准库、第三方模块和自定义模块。同时,介绍了模块和包的组织结构,以及如何避免模块名冲突。

 

模块的概念

在计算器程序的开发过程中,随着程序代码越写越多,在一个文件里代码会越来越长,越来越不容易维护。

为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件夹,这样,每个文件包含的代码就相对较少,很多语言都采用这种组织代码的方式,在Python中,一个py文件称之为一个模块(Moudle)。

最大的好处就是大大的提高了代码的可维护性。

写代码不必从开始,当一个模块编写完毕,就可以被其他地方引用

模块一共三种

  1. Python标准款
  2. 第三方模块
  3. 应用程序自定义模块

模块调用查找的顺序

print(sys.path)
#搜索路径:sys.path
Python通过搜索路径去寻找,找到之后再不寻找

调用方式有两种:
import 模块名 = from 模块名 import *

 
from 模块 import 方法
from calculate import add as plus     as后面的plus相当于是起了一个变量引用到前面导入的方法
print(plus(1,2))
区别:第一种Python解释器会把import 里面全部导入
第二种只会从模块中调用一个方法,性能会比第一种快。
模块是用来组织函数的
import模块是把模块文件加载了一遍


包 package
如果不用的人编写的模块名相同怎么办?为了避免模块名冲突,Python有引入了搜目录来组织模块的方法,成为包 package
包是用来组织模块的

一层目录的调用:
from web2 import logger
二级嵌套调用:
from web.web2 import logger
logger.logger()
# from web.web2.logger import logger
# logger()


层级目录如下:

 

 

import web
执行了web下的init.py文件 
import包是把包下面的init
头歌平台在Python模块方面提供了丰富的学习内容。 ### 模块基础 头歌平台会讲解Python模块的定义,模块其实就是一个含Python代码的文件,后缀为 `.py`。例如,有一个名为 `math_operations.py` 的文件,里面定义了一些数学运算函数: ```python # math_operations.py def add(a, b): return a + b def subtract(a, b): return a - b ``` 在另一个Python文件中可以导入并使用这个模块: ```python import math_operations result_add = math_operations.add(3, 5) result_subtract = math_operations.subtract(7, 2) print(result_add) print(result_subtract) ``` ### 模块导入方式 平台会介绍多种导入模块的方式。除了上述的 `import 模块名`,还有 `from 模块名 import 函数名` 这种方式,它可以直接导入模块中的特定函数,使用时无需通过模块名来调用: ```python from math_operations import add result = add(4, 6) print(result) ``` 还可以使用 `from 模块名 import *` 导入模块中的所有内容,但这种方式不推荐,因为可能会导致命名冲突。 ### 的概念与使用 头歌平台会详细说明Python的概念,是一种管理Python模块命名空间的方式,它其实就是一个含 `__init__.py` 文件的目录。例如,有一个名为 `my_package` 的,其目录结构如下: ``` my_package/ __init__.py module1.py module2.py ``` 在 `__init__.py` 中可以进行一些初始化操作,也可以控制对外暴露的内容。在其他Python文件中可以导入中的模块: ```python from my_package import module1 ``` ### 的嵌套与相对导入 头歌平台也会涉及到的嵌套情况,即一个中可以含子。同时会介绍相对导入,在内部的模块之间可以使用相对导入来引用其他模块。例如,在 `my_package` 下的 `module1.py` 中引用 `module2.py` 可以使用相对导入: ```python # my_package/module1.py from . import module2 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试老痞

你的支持,是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值