18. Python脚本学习笔记十八模块

来源:互联网 发布:网络赚钱方法大全 编辑:程序博客网 时间:2024/06/05 15:26

18. Python脚本学习笔记十八模块

本篇名言:8种能够让你快乐的方法:1放下过去。2少担心。3简单生活。4期望少。5多付出。6经常笑。7找一个真正爱的人。8认识举世无双的我。”

Python的标准安装包括一组模块,称为标准库。我们先来看下模块。

任何Python程序都能作为模块导入。每个模块只能导入一次,当然导入后可以重新加载的。

在Chapter1.py中定义如下函数:

defhello():

    print"hello.world!"

在Chapter2.py中输入如下执行

importChapter1

Chapter1.hello()

输出结果如下:

hello.world!

关于判断是主程序还是被导入的函数。

可以通过变量__name__来判断。

 

 

1.  获得环境变量

>>> import sys

>>> print sys.path

['', 'C:\\Windows\\system32\\python27.zip','D:\\python27\\DLLs', 'D:\\python27\

\lib', 'D:\\python27\\lib\\plat-win', 'D:\\python27\\lib\\lib-tk','D:\\python27

', 'D:\\python27\\lib\\site-packages']

如下导入sys模块,然后输出sys.path。

2.  关于包

为了组织好模块,可以将它们分组为包。包其实就是模块所在的目录。不过为了让Python将其作为包对待,必须包含一个命名为__init__.py的文件。

 

 

 

 

 

3.  授之于鱼不如授之于渔

如何研究下模块?看看官方提供的包有什么?这个是作为Python程序员必备的功能。

以copy 模块为例

下import copy

3.1      dir

使用列表推导式如下:

>>>import copy

>>> [nfor n in dir(copy) if not n.startswith('_')]

['Error','PyStringMap', 'copy', 'deepcopy', 'dispatch_table', 'error', 'name',

't', 'weakref']

得到了模块copy中的所有函数,类,变量。

 

 

 

3.2      __all__变量

可以直接通过copy.__all__,

可以得到copy模块定义的共有接口。

 

3.3      help

help命令哪里都有,基本正规的程序都会提供help操作。

>>> help(copy.copy)

Help on function copy in module copy:

 

copy(x)

   Shallow copy operation on arbitrary Python objects.

 

   See the module's __doc__ string for more info.

 

 

可以快速得到帮助,这个非常好用。

也可以直接help(copy)对整个模块进行求助。

此外还可以通过__doc __属性来得到文档的描述。不过不是每个模块都有不错的文档字符串。

学习Python 编程最有用的文档莫过于Python库参考,对所有标准库中的模块都有描述。

3.4      源码在哪里

读源码当然最好,怎么找到源码呢?如下执行即可得到位置

>>> print copy.__file__

D:\python27\lib\copy.pyc

一些模块可能不包含任何可以阅读的Python源代码,它们可能融入到了解释器内(如sys模块)或者用C语言写的。