Python中什么是包?导入包的本质及语法!

时间:2025-11-04 00:11:53来源:极客码头作者:IT科技

  学习Python的中什质及时候,相信大家都听说过“包”这个字。包导那么什么是入包包?导入包语法是什么?本文为大家详细讲解一下,希望对你们有所帮助。语法

  什么是中什质及包?

  当一个项目中模块越来越多,维护和开发不是包导那么高效的时候,我们可以引入一种比模块更高级语法:包。入包

  包是语法对相关功能的模块py文件)的组织方式。

  包可以理解为文件夹,中什质及更确切的包导说,是云南idc服务商入包一个包含__init__文件的文件夹。

  导入包语法

  import 包名[.模块名 [as 别名]]

  from 包名 import 模块名 [as 别名]

  from 包名.模块名 import 成员名 [as 别名]

  案例:将上面案例中的语法cal .py文件放到utils包中管理,logger.py放到logger包中管理。中什质及

-- demo main.py -- utils cal.py -- logger logger.py # 方式1 from utils import cal ret = cal.add(2,包导5) print(ret) # 方式2 import utils.cal ret = utils.cal.add(4,6) print(ret) # 方式3 from utils.cal import add ret = add(3,5) print(ret)

  导入包的本质

  如果将main.py放在一个main包下,运行会报错。根本原因是入包无论导包还是调用模块都是解释器依赖sys.path的路径进行查找,而python解释器运行某个程序时会将该程序的启动文件的目录加入到sysy.path中.所以启动文件的同级目录或者文件才可以调用。

  所以这种目录结构下需要构建模块路径:

import sys,os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(BASE_DIR)

  思考:

  1、如何在cal.py中导入同级目录模块?

  2、导入模块的执行顺序?

  __init__文件

  __init__.py该文件的作用就是云服务器提供商相当于把自身整个文件夹当作一个包来管理,每当有外部导入的时候会自动执行里面的代码。

  主要功能:

  1.标识该目录是一个python的模块包(module package)

  2.简化模块导入操作

  3.控制模块导入

  4.偷懒的导入方法

  __all__ 关联了一个模块列表,当执行 from xx import * 时,就会导入列表中的模块。

  5.配置模块的初始化操作

  在了解了__init__.py的工作原理后,应该能理解该文件就是一个正常的python代码文件,因此可以将初始化代码放入该文件中。

相关内容