模块和包

来源:互联网 发布:淘宝二级页面设计 编辑:程序博客网 时间:2024/06/05 09:31

一、模块的定义

Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。

模块让你能够有逻辑地组织你的 Python 代码段。

把相关的代码分配到一个模块里能让你的代码更好用,更易懂。 

模块能定义函数,类和变量,模块里也能包含可执行的代码。

包括:内置模块,自定义模块,第三方模块;


二、作用

大大的提高了代码的可维护性


三、import  导入自定义模块(前提是调用.py文件和被调用.py文件在同一目录下)

1)新建一个calc.py文件

def cuit(num):    print 'quare is %s' % num**2def cuit2(num):    print 'add  is %s' % num**3
在test.py里调用,用到关键字import。查看一下这个类型,是模块对象

import calccalc.cuit(11)calc.cuit2(111)print type(calc)
2)第二种导入方式

从calc.py这个文件直接导入要使用到的函数

from calc import cuit,cuit2cuit(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 s7s7.askPrice()#第二种方式from Phone.apple import iphone6iphone6.askPrice()#第三种方式from Phone.apple.iphone6 import askPriceaskPrice()

2)与Phone文件不同级目录

注意:可以用import导入内置或者第三方模块,但是要绝对避免使用import来导入自定义包的子模块,应该使用from... import ...的绝对或者相对导入,且包的相对导入只能用from的形式。

自定义包指Python包。

不要直接import包里的模块,而是可以import整个从包名到模块的路径

import syssys.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.pathfrom iphone6 import askPriceaskPrice()from iphone7 import askPriceaskPrice()from galaxy_note7 import askPriceaskPrice()from galaxy_s7 import  askPriceaskPrice()#第二种方式是添加环境变量  PYTHONPATHset PYTHONPATH=C:\\Users\\linux\\PycharmProjects\\demo\Phone\\apple#查看环境变量echo %PYTHONPATH%

原创粉丝点击