如何区分包和库在编程中的应用场景?

2026-05-17 09:090阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1932个文字,预计阅读时间需要8分钟。

2.3 包和模块

2.3.1 包的概念

包是模块之上的概念,为了方便管理,将多个模块组织在一起。包通过点分命名空间的方式组织模块。包是一种使用点号分隔的模块名,构造Python模块命名空间的方法。例如,模块名A.B表示A包下的B模块。

2.3 包和库 2.3.1 包的概念

包是在模块之上的概念,为了方便管理而将多个脚本文件(模块文件)进行打包。
包是一种用点式模块名构造 Python 模块命名空间的方法。例如,模块名 A.B 表示包 A 中名为 B 的子模块。正如模块可以区分不同模块之间的全局变量名称一样,点式模块名可以区分 NumPy 或 Pillow 等不同多模块包之间的模块名称。
包其实就是文件夹,包和文件夹的一大区别在于:包内存放了一个名为__pycache__的文件夹和__init__.py文件,该文件的内容就将是包的内容。然后是一些模块文件和子目录,如果子目录中也有__init__.py,那么它就是这个包的子包了。

2.3.2 包的导入

可以通过类似导入模块的方式导入包。导入包其实就是运行包下的__init__.py文件。如果包中没有__init__.py,则在导入包时不会有效果。但是会自动创建一个名为__pycache__ 的文件夹。
由于在导入包的时候会自动运行包内的__init__.py文件,所以一般会在该文件中写明导入包时要导入的包内其他py文件的语句。此时就可以用到相对导入了。
不建议在包内的__init__.py文件中写入其它非导入模块语句,尽量保证该文件的简洁性。
在__init__.py文件中,可以定义一个变量:__all__,一般这个变量等于该包内所有子模块名,这样在通过from 包 import *时则会查找__all__变量,并将该变量所指向的模块全部导入。

2.3.3 库的概念

库是具有相关功能模块(包)的集合。

阅读全文
标签:概念

本文共计1932个文字,预计阅读时间需要8分钟。

2.3 包和模块

2.3.1 包的概念

包是模块之上的概念,为了方便管理,将多个模块组织在一起。包通过点分命名空间的方式组织模块。包是一种使用点号分隔的模块名,构造Python模块命名空间的方法。例如,模块名A.B表示A包下的B模块。

2.3 包和库 2.3.1 包的概念

包是在模块之上的概念,为了方便管理而将多个脚本文件(模块文件)进行打包。
包是一种用点式模块名构造 Python 模块命名空间的方法。例如,模块名 A.B 表示包 A 中名为 B 的子模块。正如模块可以区分不同模块之间的全局变量名称一样,点式模块名可以区分 NumPy 或 Pillow 等不同多模块包之间的模块名称。
包其实就是文件夹,包和文件夹的一大区别在于:包内存放了一个名为__pycache__的文件夹和__init__.py文件,该文件的内容就将是包的内容。然后是一些模块文件和子目录,如果子目录中也有__init__.py,那么它就是这个包的子包了。

2.3.2 包的导入

可以通过类似导入模块的方式导入包。导入包其实就是运行包下的__init__.py文件。如果包中没有__init__.py,则在导入包时不会有效果。但是会自动创建一个名为__pycache__ 的文件夹。
由于在导入包的时候会自动运行包内的__init__.py文件,所以一般会在该文件中写明导入包时要导入的包内其他py文件的语句。此时就可以用到相对导入了。
不建议在包内的__init__.py文件中写入其它非导入模块语句,尽量保证该文件的简洁性。
在__init__.py文件中,可以定义一个变量:__all__,一般这个变量等于该包内所有子模块名,这样在通过from 包 import *时则会查找__all__变量,并将该变量所指向的模块全部导入。

2.3.3 库的概念

库是具有相关功能模块(包)的集合。

阅读全文
标签:概念