概念

python中的模块是什么?简而言之,在python中,一个文件(以“.py”为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件。模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用,它可以被其他程序引用,从而使用该模块里的函数等功能,使用Python中的标准库也是采用这种方法。

分类

在Python中模块分为以下几种:

系统内置模块,例如:sys、time、json模块等等;自定义模块,自定义模块是自己写的模块,对某段逻辑或某些函数进行封装后供其他函数调用。注意:自定义模块的命名一定不能和系统内置的模块重名了,否则将不能再导入系统的内置模块了。例如:自定义了一个sys.py模块后,再想使用系统的sys模块是不能使用的;第三方的开源模块:这部分模块可以通过pip install进行安装,有开源的代码;

使用模块

我们先来看一个例子,导入系统内置的sys模块:

在第二行处,写了这样一句话:“import sys”,表示使用系统自带的sys模块,因此,在下面的代码里,就可以使用sys模块里的函数:“sys.argv”,它的作用是返回命令行的参数列表。

使用关键词“import”,后面跟具体的模块名称,则可以导入某一个模块;同一个模块不管你执行了多少次“import”,只会被导入一次,以防止模块一遍又一遍的被执行;“import”应该被放在代码的顶端;

接下来我们导入一个自定义的模块,首先我们定义一个模块,并且把这个模块的名字叫做“myprint.py”,如下图所示:

这个模块里定义了一个函数,打印输入的参数,并且在后面再加上一行自定义打印的文字。将这个文件保存,接下来让我们看调用方法:

在调用的地方,同样只需要输入“import myprint”,然后就可以在任意地方调用了,调用的方法也是一样,用该模块的名字.函数名称(参数)就能达到调用目的。

from...import

刚才我们提到了引入一个模块使用“import”关键词,它将把这个模块整个引入进来,那么,from...import则是引入一个指定部分到当前的命名空间中来,例如我们有如下图所示的一个模块:

上面的模块定义了两个函数,分别是“print_myself”和“print_other”,现在我们用from...import使用这个模块,并且只想使用第一个函数,如下图:

从上面的两个例子,我们可以看到,“import”和“from...import”的作用都是引入一个模块,它们的区别在于:

“import”是引入一个完整的模块,“from...import”是引入模块中的一个或多个指定部分;“import”引入模块后,如果需要使用模块里的函数方法,则需要加上模块的限定名字,“from...import”则不用加模块的限定名字,直接使用其函数方法;值得一提的是,还有一种引入模块的方法:“from...import*”,举例如下图:

请看,刚才运行时会出错的地方“print_other”不会出错了!但是,绝大多数编程人员不会这么写,因为它一次性的把一个模块里的所有函数、变量都一次性的引入进来了(单下划线“_”开头的名字不在此列),有可能会覆盖现有代码的定义;

小结

Python中模块化的好处多多,总结起来,有如下优点:

提高了代码的可维护性;一个模块编写完毕之后,其他模块直接调用,不用再从零开始写代码了,节约了工作时间;避免函数名称和变量名称重复,在不同的模块中可以存在相同名字的函数名和变量名,但是,切记,不要和系统内置的模块名称重复;

python中自带的模块_python中的模块详解相关推荐

  1. python中if else语句用法_Python If-else语句用法详解

    本文概述 决策是几乎所有编程语言中最重要的方面.顾名思义, 决策制定使我们可以为特定决策运行特定代码块.在此, 将根据特定条件的有效性做出决定.条件检查是决策的基础. 在python中, 决策由以下语 ...

  2. 用python处理excel的基本语法_Python对Excel操作详解

    Python对Excel操作详解 文档摘要: 本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd.xlwt和xlutils模块.另外还演示了如何通过Tcl tco ...

  3. python可以调用c语言吗_python 调用c语言详解

    python语言调用c语言进行扩展,或者增加程序的运行速度都是特别方便的.同时还能获得与C或者C++几乎相同的执行性能. Python调用C语言的方式 CTYPES, SWIG, BOOST.PYTH ...

  4. python列表的内置方法_Python内置方法详解

    1. 字符串内置方法详解 为何要有字符串?相对于元组.列表等,对于唯一类型的定义,字符串具有最简单的形式. 字符串往往以变量接收,变量名.可以查看所有的字符串的内置方法,如: 1> count: ...

  5. python变量类型是动态的_python内存动态分配过程详解

    一.前言 大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前.其他语言,想C++和java,允许"随时随地"声明变量, ...

  6. python开发报表系统详细操作流程_python实现报表自动化详解

    本篇文章将介绍: xlwt 常用功能 xlrd 常用功能 xlutils 常用功能 xlwt写Excel时公式的应用 xlwt写入特定目录(路径设置) xlwt Python语言中,写入Excel文件 ...

  7. python爬虫代码实例源码_python爬虫及案例详解(附代码)

    安装三大库 1.requests 2.BeautifulSoup 3.lxml 有的网站做了相应的反爬虫,不能用普通方法爬取网站数据. 这里我用python爬取了几个网站的数据,分别存入csv文件,m ...

  8. python中lines是什么类型_python里的splitlines详解

    Python的split方法函数可以分割字符串成列表,默认是以空格作为分隔符sep来分割字符串. In [1]: s = "www jeapedu com" In [2]: pri ...

  9. python3安装mysql模块_Python安装MySQL库详解,步骤及错误的解决方法

    前面我们介绍的Python网络爬虫通常将抓取的数据存储至TXT或CSV文件,而当数据量增加之时,就需要将其存储至本地数据库了.Python访问数据库需要对应的接口程序,我们可以把接口程序理解为Pyth ...

  10. python装饰器作用和功能_python装饰器大详解

    一.作用域 在python中,作用域分为两种:全局作用域和局部作用域. 全局作用域是定义在文件级别的变量,函数名.而局部作用域,则是定义函数内部. 关于作用域,我们要理解两点: a.在全局不能访问到局 ...

最新文章

  1. python获取硬件信息
  2. linux+android4.2键值关系,Android4.0 添加一个新的Android 键值
  3. qt和c#怎么选_请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?
  4. 技术人必看:15张图对比高效与瞎忙的区别!
  5. SCCM 2016 配置管理系列(Part4)
  6. Java线程volatile(二)
  7. python设计模式之猴子补丁模式
  8. 安卓应用安全指南 4.3.1 创建/使用内容供应器 示例代码
  9. centos 7配置rsync源服务器
  10. linux grep awk head 的使用
  11. mysql查看和修改密码策略
  12. idea出现outdated version提示框
  13. C语言输出各种类型数据的方式
  14. 有哪些靠谱的淘宝代运营公司?
  15. 阿拉伯数字转化为大写汉字
  16. 你知道为什么zip始终不兼容rar吗?
  17. 电脑双屏开机后副屏黑屏,电脑开机显示器黑屏,教您电脑开机后屏幕黑屏怎么解决...
  18. 迅速学java——100条小知识点快速入门
  19. matlab求解微分代数方程组,微分代数方程(DAE)的Matlab 解法.PDF
  20. 微信小程序中如何实现微信支付

热门文章

  1. camel 多个 to_具有多个查询参数的Camel CXF服务
  2. java 对象锁定_少锁定Java对象池
  3. Openshift源中的高可用性Drools无状态服务
  4. 带有Gluon Ignite和Dagger的JavaFX中的依赖注入
  5. JavaFX真实世界应用程序:EIZO CuratOR Caliop
  6. netbeans 源文件_具有NetBeans,嵌入式GlassFish,JPA和MySQL数据源的Arquillian
  7. servlet 3.0异步_Servlet 3.0异步处理可将服务器吞吐量提高十倍
  8. 发布Akka Toolkit 2.3
  9. JUnit和Mockito合作
  10. Rete之外的生活– RIP Rete 2013 :)