python中自带的模块_python中的模块详解
概念
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中的模块详解相关推荐
- python中if else语句用法_Python If-else语句用法详解
本文概述 决策是几乎所有编程语言中最重要的方面.顾名思义, 决策制定使我们可以为特定决策运行特定代码块.在此, 将根据特定条件的有效性做出决定.条件检查是决策的基础. 在python中, 决策由以下语 ...
- 用python处理excel的基本语法_Python对Excel操作详解
Python对Excel操作详解 文档摘要: 本文档主要介绍如何通过python对office excel进行读写操作,使用了xlrd.xlwt和xlutils模块.另外还演示了如何通过Tcl tco ...
- python可以调用c语言吗_python 调用c语言详解
python语言调用c语言进行扩展,或者增加程序的运行速度都是特别方便的.同时还能获得与C或者C++几乎相同的执行性能. Python调用C语言的方式 CTYPES, SWIG, BOOST.PYTH ...
- python列表的内置方法_Python内置方法详解
1. 字符串内置方法详解 为何要有字符串?相对于元组.列表等,对于唯一类型的定义,字符串具有最简单的形式. 字符串往往以变量接收,变量名.可以查看所有的字符串的内置方法,如: 1> count: ...
- python变量类型是动态的_python内存动态分配过程详解
一.前言 大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变量声明必须位于代码块最开始,且在任何其他语句之前.其他语言,想C++和java,允许"随时随地"声明变量, ...
- python开发报表系统详细操作流程_python实现报表自动化详解
本篇文章将介绍: xlwt 常用功能 xlrd 常用功能 xlutils 常用功能 xlwt写Excel时公式的应用 xlwt写入特定目录(路径设置) xlwt Python语言中,写入Excel文件 ...
- python爬虫代码实例源码_python爬虫及案例详解(附代码)
安装三大库 1.requests 2.BeautifulSoup 3.lxml 有的网站做了相应的反爬虫,不能用普通方法爬取网站数据. 这里我用python爬取了几个网站的数据,分别存入csv文件,m ...
- python中lines是什么类型_python里的splitlines详解
Python的split方法函数可以分割字符串成列表,默认是以空格作为分隔符sep来分割字符串. In [1]: s = "www jeapedu com" In [2]: pri ...
- python3安装mysql模块_Python安装MySQL库详解,步骤及错误的解决方法
前面我们介绍的Python网络爬虫通常将抓取的数据存储至TXT或CSV文件,而当数据量增加之时,就需要将其存储至本地数据库了.Python访问数据库需要对应的接口程序,我们可以把接口程序理解为Pyth ...
- python装饰器作用和功能_python装饰器大详解
一.作用域 在python中,作用域分为两种:全局作用域和局部作用域. 全局作用域是定义在文件级别的变量,函数名.而局部作用域,则是定义函数内部. 关于作用域,我们要理解两点: a.在全局不能访问到局 ...
最新文章
- python获取硬件信息
- linux+android4.2键值关系,Android4.0 添加一个新的Android 键值
- qt和c#怎么选_请问目前做windows桌面应用程序,MFC、QT、C#哪个更好?
- 技术人必看:15张图对比高效与瞎忙的区别!
- SCCM 2016 配置管理系列(Part4)
- Java线程volatile(二)
- python设计模式之猴子补丁模式
- 安卓应用安全指南 4.3.1 创建/使用内容供应器 示例代码
- centos 7配置rsync源服务器
- linux grep awk head 的使用
- mysql查看和修改密码策略
- idea出现outdated version提示框
- C语言输出各种类型数据的方式
- 有哪些靠谱的淘宝代运营公司?
- 阿拉伯数字转化为大写汉字
- 你知道为什么zip始终不兼容rar吗?
- 电脑双屏开机后副屏黑屏,电脑开机显示器黑屏,教您电脑开机后屏幕黑屏怎么解决...
- 迅速学java——100条小知识点快速入门
- matlab求解微分代数方程组,微分代数方程(DAE)的Matlab 解法.PDF
- 微信小程序中如何实现微信支付
热门文章
- camel 多个 to_具有多个查询参数的Camel CXF服务
- java 对象锁定_少锁定Java对象池
- Openshift源中的高可用性Drools无状态服务
- 带有Gluon Ignite和Dagger的JavaFX中的依赖注入
- JavaFX真实世界应用程序:EIZO CuratOR Caliop
- netbeans 源文件_具有NetBeans,嵌入式GlassFish,JPA和MySQL数据源的Arquillian
- servlet 3.0异步_Servlet 3.0异步处理可将服务器吞吐量提高十倍
- 发布Akka Toolkit 2.3
- JUnit和Mockito合作
- Rete之外的生活– RIP Rete 2013 :)