Python创建模块及模块导入的方法

   本文实例讲述了Python创建模块及模块导入的方法。分享给大家供大家参考。具体分析如下:

  python学习手册中写道:

  定义模块,只要使用文本编辑器,把一些python代码输入到文本中,然后以.py为后缀名进行保存,任何此类文件都会被认为是python模块。

  比如说,下面的代码输入到一个文件中,就可以看作是一个模块:

  ?

1
2
3
4

def printme(var):
print var
if __name__ == '__main__':
printme(1)

  假设说输入到a.py中,那么import a就可以把这个模块导入。

  然后可执行a.printme(3),屏幕即可打印出3:

  ?

1
2
3

>>> a.printme(3)
3
>>>

  一个模块顶层定义的变量,会自动变成模块的属性。例如:

  ?

1
2
3
4
5

data=[1,2,3]
def printme(var):
print var
if __name__ == '__main__':
printme(1)

  data变量就是模块的一个属性。其实printme也是一个属性,只不过是一个函数罢了。

  引入模块示例如下:(假定此时data=[1,2,3]未定义)

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

>>> import a
>>> a.data
 
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
a.data
AttributeError: 'module' object has no attribute 'data'
>>> reload(a)
<module 'a' from 'C:/pya.pyc'>
>>> a.data
 
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
a.data
AttributeError: 'module' object has no attribute 'data'
>>>

  从上述提示可以看出data属性未定义,此时再在a.py文件中定义data=[1,2,3],重新加载a模块,并输出data属性:

  ?

1
2
3
4
5

>>> reload(a)
<module 'a' from 'C:/pya.py'>
>>> a.data
[1, 2, 3]
>>>

  这里的reload函数可以重新加载一个模块。如果在模块代码中更改了,那么需要重新加载。

  上面a.data,就是访问模块中的属性。

  上面的例子是导入一个文件作为一个模块。

  其实python的模块导入还有更丰富的内容。

  除了模块名之外,python也可以导入指定目录路径。python代码的目录就称为包。因此,这类导入就称为包导入。事实上,包导入是把计算机上的目录变成python的一个命名空间。而属性就是目录中包含的子目录或者是模块文件。

  看下面例子:

  在我的桌面上有一个aa文件夹,里面有bb文件夹,bb里面有a.py这个文件。

  那么在aa和bb文件夹中分别放置一个__init__.py,之后,在命令行中import aa.bb.a,就可以导入模块a了。

  希望本文所述对大家的Python程序设计有所帮助。

时间: 2024-10-31 18:23:36

Python创建模块及模块导入的方法的相关文章

Python使用xlrd模块操作Excel数据导入的方法

  本文实例讲述了Python使用xlrd模块操作Excel数据导入的方法.分享给大家供大家参考.具体分析如下: xlrd是一个基于python的可以读取excel文件的产品.和pyExcelerator相比,xlrd的主要特点在于读的功能比较强大,提供了表单行数.列数.单元格数据类型等pyExcelrator无法提供的详细信息,使得开发人员无须了解表单的具体结构也能对表单中的数据进行正确的分析转换. 但是xlrd仅仅提供了读取excel文件的功能,不能像pyExcelrator那样生成exce

Python中由于logging模块误用导致的内存泄露的解决方法

  Python中由于logging模块误用导致的内存泄露的解决方法         这篇文章主要介绍了解决Python中由于logging模块误用导致的内存泄露,针对由于过多的UDP连接所产生的问题,需要的朋友可以参考下 首先介绍下怎么发现的吧, 线上的项目日志是通过 logging 模块打到 syslog 里, 跑了一段时间后发现 syslog 的 UDP 连接超过了 8W, 没错是 8 W. 主要是 logging 模块用的不对 我们之前有这么一个需求, 就是针对每一个连接日志输出当前连接

python使用xlrd模块读写Excel文件的方法

  这篇文章主要介绍了python使用xlrd模块读写Excel文件的方法,较为详细的分析了xlrd模块的安装.使用与操作Excel文件的相关技巧,需要的朋友可以参考下 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 代码如下: import xlrd 2.打开Excel文件读取数据 代码如下: data = xlrd.open_workbook('excelF

python使用datetime模块计算各种时间间隔的方法

 这篇文章主要介绍了python使用datetime模块计算各种时间间隔的方法,实例分析了Python使用datetime模块进行各种常用的时间操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了python使用datetime模块计算各种时间间隔的方法.分享给大家供大家参考.具体分析如下: python中通过datetime模块可以很方便的计算两个时间的差,datetime的时间差单位可以是天.小时.秒,甚至是微秒,下面的代码就演示了datetime模块在计算时间差时的

python实现通过pil模块对图片格式进行转换的方法

 这篇文章主要介绍了python实现通过pil模块对图片格式进行转换的方法,涉及Python中pil模块的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了python实现通过pil模块对图片格式进行转换的方法.分享给大家供大家参考.具体分析如下: python的pil模块相当的智能,如果你需要对图片格式进行转换,比如jpg转转成tif,jpg转换成gif,png转换成jpg只需要在保存文件时指定正确的图片扩展名即可. 代码如下: ? 1 2 3 import Imag

Python使用urllib2模块实现断点续传下载的方法

  本文实例讲述了Python使用urllib2模块实现断点续传下载的方法.分享给大家供大家参考.具体分析如下: 在使用HTTP协议进行下载的时候只需要在头上设置一下Range的范围就可以进行断点续传下载,当然,首先服务器需要支持断点续传. 利用Python的urllib2模块完成断点续传下载的例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #!/usr/bin/python # -*- coding: UTF-8 -* ''' Created on 2

在Python中使用glob模块查找文件路径的方法

  这篇文章主要介绍了在Python中使用glob模块查找文件路径的方法,使用模块其中的iglob方法实现起来非常简单,需要的朋友可以参考下 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:"*", "?", "[]"."*"匹配0个或多个字符;"?"匹配单个字符;"[]"匹配指定范围内的

python处理图片之PIL模块简单使用方法

  这篇文章主要介绍了python处理图片之PIL模块简单使用方法,涉及Python使用PIL模块实现针对图片的锐化.绘制直线.绘制椭圆等相关技巧,需要的朋友可以参考下 本文实例讲述了python处理图片之PIL模块简单使用方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 4

c++-请问如何将python 中包含了numpy模块的函数导入C++中

问题描述 请问如何将python 中包含了numpy模块的函数导入C++中 现在我要导入一个函数,函数内部包含了numpy模块 和pandas 模块,请问如何将这个函数导入C++中 解决方案 http://www.zhihu.com/question/29521273