python类、模块、包
通常包总是一个目录,可以使用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
import语句语法:
1. 当使用from package import item时,item可以是package的子模块或子包,或是其他的定义在包中的名字(比如一个函数、类或变量)
首先检查item是否定义在包中,不过没找到,就认为item是一个模块并尝试加载它,失败时会抛出一个ImportError异常。
2. 当使用import item.subitem.subsubitem语法时,最后一个item之前的item必须是包,最后一个item可以是一个模块或包,但不能是类、函数和变量
3. from pacakge import *
如果包的__init__.py定义了一个名为__all__的列表变量,它包含的模块名字的列表将作为被导入的模块列表。
如果没有定义__all__, 这条语句不会导入所有的package的子模块,它只保证包package被导入,然后导入定义在包中的所有名字。
python包是:
包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。
通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。
python类、模块、包相关推荐
- python 异常 模块 包
#什么是异常 当Python检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常" #捕获异常 使用try:...except:...来捕获异常, ...
- Python导入模块(包)的两种方式 TypeError: 'module' object is not callable
Python编程时明明在开始处import了相关包,但是调用函数时就报错如下: TypeError: 'module' object is not callable Python中有两种导入包(模块, ...
- Python module模块 包 __name__
模块:一个.py文件就称为一个模块(module) module的好处: •提高代码的可维护性,一个module编写完成,就可以被其它地方引用,不必重复编写,注意模块名应避免与python内置库重名 ...
- Python 模块/包的导入以及 import 的用法总结
Python 模块/包的导入以及 import 的用法总结 一.模块/包 1. 前言 一个以 .py 为后缀的 Python 文件就是一个模块. 包是一个文件夹或一个目录. 每个包都有一个全局定义的配 ...
- python定义模块结束语_python-模块定义、导入、优化
在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块. 说的通俗点:模块就好比 ...
- Python 进阶_模块 包
目录 文章目录 目录 模块的搜索路径和路径搜索 命名空间和变量作用域的比较 变量名的查找/覆盖 导入模块 import 语句 from-import 语句 扩展的 import 语句 as 自动载入模 ...
- python怎么导入包-Python模块导入与包构建最佳实践
[TOC] 最开始写程序的时候,都是一个文件里输入几行源码(python 的一个 web 框架bottle就特别强调自己是单文件框架).随着程程式变大变复杂,一个文件很难承载如此多的功能,因此将代码拆 ...
- python 必备模块和包_Python_异常和模块
异常处理 单个异常处理: try: print(num) except NameError: print('没有定义变量') except FileNotFoundError: print('找不到文 ...
- python的模块和类_Python模块和类.md
模块的定义 代码的层次结构 对于python的层次结构一般为包->模块 包也就是文件夹,但是文件夹下必须有文件"init.py"那么此文件夹才可以被识别为包."in ...
- 学学python(4):面向对象及类,模块
1. 关于类的一些说明 1.1.__init__是类的构造函数,和其他语言中的构造函数功能是一样的,python类中还有其他的特殊方法,比如析构函数为__del__,在方法名的前后都有双下 ...
最新文章
- additive tree
- 第九届河南理工大学算法程序设计大赛 正式赛(ABCDEFGHJKL)
- 扫描指定包并解析为BeanDefinition
- c语言结构体单元测试,C语言结构体单元练习.doc
- 使用 dotnet-monitor 分析.NET 应用程序
- self 实例对象-代码详细解释
- 基于java的科研信息管理平台
- javaweb学生宿舍管理系统
- ERP操作手册要不要做?
- 使用 Python 进行数据清洗的完整指南
- 海康门禁-开,关,常开,常关,授权,清权
- 时间序列模型c语言,时间序列分析步骤及sas代码
- Linux程序设计(Linux shell编程五)
- 【Multisim仿真】LM317-337双路输出可调直流稳压电源电路
- java 动态定时提醒_java实现定时提醒功能
- 机器学习之你不懂的 sigmoid函数
- 【Python 数据科学】分组group by基础
- DNA测序也有批次效应?
- 学校运动会广播稿计算机,学校运动会广播稿
- pm961 mysql_搭建Memcache服务详解
热门文章
- 我来出个题:这些事务会不会回滚?大概率你会错!
- 皮一皮:沉迷游戏的下场...
- 皮一皮:是不是年轻时候的你...
- 这是我见过最简单粗暴的辞职书了
- 每日一皮:程序员职业服装!
- 开学季:当当大促的额外优惠又来啦!150 买 400的书!搓搓搓~
- c语言患者住院管理系统,患者住院管理系统 C,C++.doc
- 八字喜用神php源码,免费查八字喜用神的软件 通关用神
- html 里运行php文件,如何在HTML文件中运行PHP脚本
- python向mysql中添加数据标签_用python在MySQL中写入数据和添加数据