Python类、模块、包的概念及区别
类
类的概念在许多语言中出现,是面向对象编程的基础,很容易理解。抽象出不同物体的共同特征,根据相似性原则,把彼此相似的物体归于相同的类概念, 它将数据和操作进行封装,以便将来的复用。
模块
模块,在Python中一个文件就可以认为是一个模块。在创建了一个脚本文件后,定义了某些函数和变量。你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。模块名就是文件名去掉.py后缀。
模块也可以简单的划分为built-in模块和自定义模块
built-in 模块就是Python内置的一些模块,比如:sys, os等基本模块
内建函数dir()可以查看模块定义了什么数据(包括变量名,模块名,函数名等):dir(模块名),没有参数时返回所有当前定义的名字
模块搜索路径
当导入一个模块时,解释器先在当前包中查找模块,若找不到,然后在内置的built-in模块中查找,找不到则按sys.path给定的路径找对应的模块文件(模块名.py)
包
包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。
通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。
包可以使用import导入包,或者from + import来导入包中的部分模块。包目录下为首的一个文件便是 init.py。
子包: 假如子目录中也有 init.py 那么它就是这个包的子包了。
Python类、模块、包的概念及区别相关推荐
- 【转】python类中super()和__init__()的区别
[转]python类中super()和__init__()的区别 单继承时super()和__init__()实现的功能是类似的 class Base(object):def __init__(sel ...
- python模块与类的区别_Python类、模块、包的概念及区别
类 类的概念在许多语言中出现,是面向对象编程的基础,很容易理解.抽象出不同物体的共同特征,根据相似性原则,把彼此相似的物体归于相同的类概念, 它将数据和操作进行封装,以便将来的复用. 模块 模块,在 ...
- python 异常 模块 包
#什么是异常 当Python检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常" #捕获异常 使用try:...except:...来捕获异常, ...
- python 类 对象 魔法方法概念+习题
类 对象 类 对象是c++和java中都有的内容,python定义类的简单语法如下: class 类名: -类变量或者方法 Python 的类定义有点像函数定义,都是以冒号:作为类体的开始,以统一缩进 ...
- Python导入模块(包)的两种方式 TypeError: 'module' object is not callable
Python编程时明明在开始处import了相关包,但是调用函数时就报错如下: TypeError: 'module' object is not callable Python中有两种导入包(模块, ...
- Python导入模块Import和from+Import区别
在我们使用python的时候会发现使用Import可以导入模块,from+Import也可以,那么他们之间有什么区别,该用哪一种呢?让我们来看看 1.首先在demo.py中创建一个变量a,定义一个函数 ...
- Python module模块 包 __name__
模块:一个.py文件就称为一个模块(module) module的好处: •提高代码的可维护性,一个module编写完成,就可以被其它地方引用,不必重复编写,注意模块名应避免与python内置库重名 ...
- python异常模块raise的概念以及基本用法
当程序出现错误,python会自动引发异常,也可以通过raise显示地引发异常.一旦执行了raise语句,raise后面的语句将不能执行. raise(): 用raise语句来引发一个 ...
- 数据帧,数据包,报文段,报文,分组,数据包的概念和区别
应用层--消息 传输层--数据段(segment) 网络层--分组.数据包(packet) 链路层--帧(frame) 物理层--P-PDU(bit) 分组.包,packet,信息在互联网当中传输的单 ...
最新文章
- webpack笔记(6)调试模式
- Git:与GitHub搭配及SSH登录
- muduo之mutex和condition
- 蓝牙mesh — 解密蓝牙mesh系列文章汇总
- Python 列表复制
- hibernate注解实体类(Emp.java)
- glassfish_具有GlassFish和一致性的高性能JPA –第2部分
- js构造函数内存在的闭包
- Linux cp命令:复制文件和目录
- HashMap底层分析_put添加元素
- Django错误解决: CSRF verification failed. Request abor
- Python envoy 模块源码剖析
- 我是如何将系统QPS从300提升到6000的
- VMware VSphere 引发的学案(三)
- MATLAB————用reshape()函数将矩阵转换为张量
- matlab有哪些算法,30个最常用的智能算法MATLAB实现
- Word 2019 更改默认模板的字体设置
- 5分+细胞器基因组好文!多线南蜥线粒体基因组及比较基因组研究
- 小米为什么造不出芯片
- 游戏史上80重要创新(原资料来自17173)