模块:在程序设计中,为完成某一功能所需的一段程序或子程序;或指能由编译程序、装配程序等处理的独立程序单位。

在我们编程的时候我们如果将所有的文件都放在那个py文件中,我们的py文件会很大,这样也很不好维护。

所以我们会把他们分成各个模块

并且,如果我们在写程序的时候我们可能会多次使用到同一个变量,如果他们放在同一个模块当中,就会出问题,但是如果我们将他们放在不同的文件当中,就不会出问题。

#a.util
x = a
def fn(x) #b.util
x = b
def fn(x)

类似于这样的,就不会出现问题。

同时由于python是一种新型语言,它的模块在一直更新,这个时候,很可能会出现,两个人写了拥有相同的名字的模块,这个时候如果我们引用的话,就会报错,所以Python为了解决这个问题,就出现了的概念:

当我们在写完一个模块之后我们会把它保存在一个包当中,这个时候如果我们引用的话就会代带着包一起去引用,这个时候就不会出问题

#原文件名:a.util,在math包下
from A import a.util
print (a.util.fn(x)) #在biology包下的a.util
from B import a.util
print (a.util.fn(x))

上面的from...import就是导入模块的意思

#导入模块的方式
1.import 模块
这种方式,是讲模块的所有的方法,全都引用进来。 2.from 模块 import 方法名
这种方法是将这个模块里面的几个方法引用进来。 3.from 模块 import 方法名 as 别名
这种是为了防止我们在引用方法的时候,其他的模块也有类似的同名的方法,这是一种处理的方法。

在我们进行导入模块的时候,如果该模块不存在,系统就会报错

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named something

如上,由于python是动态语言,是解释执行的,但是为了能够将代码的运行速度变快的话我们就需要用其他的语言来进行编写,再来导入。

try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO

这上面的模块就是两个具有相同功能的模块,但是StringIO使用python语言写的,cStringIO是使用c语言写的。

try 的作用是捕获错误,并在捕获到指定错误时执行 except 语句

Python的新版本会引入新的功能,但是,实际上这些功能在上一个老版本中就已经存在了。要“试用”某一新的特性,就可以通过导入__future__模块的某些功能来实现。

>>> from __future__ import division
>>> print 10 / 3
3.3333333333333335

最新文章

  1. https连接的前几毫秒发生了什么
  2. 配置SQL Server 2005 远程连接(转)
  3. maven 配置篇 之pom
  4. Github上PHP资源汇总大全,php学习的好资料
  5. UVa 10562 (特殊的输入处理方式) Undraw the Trees
  6. Android NDK开发之Android.mk文件
  7. eclipse 必备
  8. you need to be root to perform this command linux
  9. jenkins上集成fitnesse
  10. Python函数篇(二)之递归函数、匿名函数及高阶函数
  11. Oracle总结【PLSQL学习】
  12. shell 编程初级
  13. js怎么获取微信浏览器内容的高度
  14. Docker 从入门到放弃(一)安装
  15. 浅谈移动端设备标识码:DeviceID、IMEI、IDFA、UDID和UUID
  16. Redis 中 redis.conf配置详细解析
  17. QT5 样式随笔
  18. 【Android归纳】开发中应该注意的事项
  19. Is there a way to get a Cursor from a GreenDao Query object?
  20. threading.Condition()

热门文章

  1. volume image
  2. nova notification
  3. js状态模式
  4. java文件读写常用方法
  5. ActiveMQ 的客户端选项
  6. phalcon查询:单条查询,多条查询,多表查询
  7. vs plug
  8. UrlRewrite重写url
  9. element-ui树结构懒加载
  10. 01-THREE.JS 第一个场景