模块和包
大家都知道,在计算机程序开发的过程中,随着程序代码越写越多,这样代码就会越不容易维护。
有时候为了好维护代码,把不同功能的函数放到不同的xx.py文件中。
在python中,一个.py文件就称为一个模块。
使用模块有什么好处?
1、提供代码可维护性。
2、可以避免函数名和变量名冲突。如果两个相同的函数名在两个模块中,直接引用的时候,可以直接显示调用xx.function即可。
但是如果不同的人编写的模块名又是相同的怎么办?为了解决模块名相同,Python又引用包的概念。
在python中,一个包代码的意思就是一个文件夹。如果一个文件夹需要被定义为一个包,则文件夹里面必须包含__init__.py这个文件。
举个例子:
定义了一个package_test的包,具有math模块(python内置也有math模块)。
那么要引用上述math模块时,则
import package_test.math
导入模块
导入系统模块,关键字为import.
import math
1.有时候也希望只导入math模块的一个函数,不要求导入全部函数
from math import sin,cos
2.如果存在两个模块函数名相同,则 模块.函数名() 显示调用
import math,mylog
print math.log(5)
print mylog.log(5,'default')
3.还可以通过给函数起‘别名‘的方式避免函数名冲突
from math import log
from mylog import log as logger
print log(5)
print logger(5,'default')
使用__future__
目前python已经有3.x版本了,如果要在就版本python2.7.x版本引用python3.x的话,就要使用__future__
>>> 10/3
3
python 2.7.x版本,除法得到的是整数。
而python 3.x版本。则
>>> 10/3
3.3333333333333335 >>>10//3
3
旧版本引用新版本的如上特性,则
>>> from __future__ import division
>>> 10/3
3.3333333333333335
安装第三方模块
毕竟python内置只是一些简单的模块。如果要引用一些高级的模块,要先进行安装。
目前安装第三方模块比较常用的是pip工具。
打开命令提示符:输入pip,然后pip install + 模块名(example:pip install Pillow)
导入
>>>from PIL import Image
小结:主要讲解模块和包的概念,及其如何导入模块,安装第三方模块,__future__的作用。