一、模块的定义
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
模块让你能够有逻辑地组织你的 Python 代码段。
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
模块能定义函数,类和变量,模块里也能包含可执行的代码。
包括:内置模块,自定义模块,第三方模块;
二、作用
大大的提高了代码的可维护性
三、import 导入自定义模块(前提是调用.py文件和被调用.py文件在同一目录下)
1)新建一个calc.py文件
def cuit(num): print 'quare is %s' % num**2 def cuit2(num): print 'add is %s' % num**3在test.py里调用,用到关键字import。查看一下这个类型,是模块对象
import calc calc.cuit(11) calc.cuit2(111) print type(calc)2)第二种导入方式
从calc.py这个文件直接导入要使用到的函数
from calc import cuit,cuit2 cuit(2) cuit(22)
3)别名
import calc as c 或者from calc import cuit,cuit2
4)全部导入
from module import * (一般不建议使用)
四、包Package
1、定义
组织存放模块文件的目录称之为包。
2、
1)新建的一个py文件,与Phone文件同级目录下
#第一种导入方式 import Phone.samsung.s.galaxy_s7 as s7 s7.askPrice() #第二种方式 from Phone.apple import iphone6 iphone6.askPrice() #第三种方式 from Phone.apple.iphone6 import askPrice askPrice()
2)与Phone文件不同级目录
注意:可以用import导入内置或者第三方模块,但是要绝对避免使用import来导入自定义包的子模块,应该使用from... import ...的绝对或者相对导入,且包的相对导入只能用from的形式。
自定义包指Python包。
不要直接import包里的模块,而是可以import整个从包名到模块的路径
import sys sys.path.append('C:\\Users\\linux\\PycharmProjects\\demo\Phone\\apple') sys.path.append('C:\\Users\\linux\\PycharmProjects\\demo\Phone\\samsung\\note') sys.path.append('C:\\Users\\linux\\PycharmProjects\\demo\Phone\\samsung\\s') print sys.path from iphone6 import askPrice askPrice() from iphone7 import askPrice askPrice() from galaxy_note7 import askPrice askPrice() from galaxy_s7 import askPrice askPrice() #第二种方式是添加环境变量 PYTHONPATH set PYTHONPATH=C:\\Users\\linux\\PycharmProjects\\demo\Phone\\apple #查看环境变量 echo %PYTHONPATH%