美文网首页
模块和包

模块和包

作者: 恶人未满 | 来源:发表于2017-09-05 20:31 被阅读0次

包和模块:

包(lib):通常包总是一个目录,可以使用import导入包,或者from + import来导入包中的部分模块。包目录下为首的一个文件便是 __init__.py。然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了。

在创建许许多多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹当作包使用时,文件夹需要包含__init__.py文件,主要是为了避免将文件夹名当作普通的字符串。__init__.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from package-name import *这语句使用的,全部导出定义过的模块。

小结:

1). import PackageA.SubPackageA.ModuleA,使用时必须用全路径名

2). 变种: from PackageA.SubPackageA import ModuleA, 可以直接使用模块名而不用加上包前缀。

3). 也可以直接导入模块中的函数或变量:from PackageA.SubPackageA.ModuleA import functionA

模块(module):模块,在Python可理解为对应于一个文件。在创建了一个脚本文件后,定义了某些函数和变量。你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。一般用模块名(.)函数名,和module_name.var_name进行使用。这样的语义用法使模块看起来很像类或者名字空间,可将module_name理解为名字限定符。模块名就是文件名去掉.py后缀

每个模块都有自己的私有符号表,所有定义在模块里面的函数把它当做全局符号表使用。

模块可以导入其他的模块。通常将import语句放在模块的开头,被导入的模块名字放在导入它的模块的符号表中。from module import names  可以直接从模块中导入名字到符号表,但模块名字不会被导入。

from module import *     可以把模块中的所有名字全部导入,除了那些以下划线开头的名字符号。不建议使用,不清楚导入了什么符号,有可能覆盖自己定义的东西

内建函数dir()可以查看模块定义了什么名字(包括变量名,模块名,函数名等):dir(模块名),没有参数时返回所有当前定义的名字

相关文章

  • 2018-08-13

    模块和包的定义 import 和 from import包和模块的引入import引入一个模块import 模块名...

  • 笔记:Python的包和模块的区别

    Python中的模块和包的英文表示: 模块的英文:Module 包的英文:Packages 对模块和包的类比理解:...

  • Python学习笔记7

    异常处理包和模块 包和模块的一般操作 导入操作的本质 模块检索的路径 导入模块的场景 第三方包和模块的安装 异常处...

  • 模块和包

    模块 1.一个python文件就是一个模块 当导入一个模块,就相当于执行了这个模块,创建该模块的命名空间,将模块中...

  • 包和模块

    1、包和模块 什么是包(lib)? 什么是模块(module)? 常见模块或者包的导入方式 1、如果是普通文件夹,...

  • 包和模块

    一、python中包和模块的区别: 1.包:包含 文件的文件夹,导入模块的可通过 变量。2.模块:编写python...

  • 模块和包

    封装包很简单。在文件系统上组织代码,并确保每个目录都定义了init.py文件 (http://upload-ima...

  • 包和模块

    1、python模块(module) 在计算机实际的开发过程中,随着代码量的不断增加,如果放在一个文件中会变得越来...

  • 模块和包

    包和模块: 包(lib):通常包总是一个目录,可以使用import导入包,或者from + import来导入包中...

  • 包和模块

    了解一个生态系统的关键是学习它的词汇。Node.js和npm有一个非常特别的包和模块的定义,很容易弄混淆。我们会在...

网友评论

      本文标题:模块和包

      本文链接:https://www.haomeiwen.com/subject/jifpjxtx.html