在Python中,一个.py文件就称之为一个模块(Module)。
目录
创建一个hello.py文档
hello.py :
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
' a test module '
__author__ = 'Forest Li'
import sys
def test():
args = sys.argv
if len(args)==1:
print('Hello, world!')
elif len(args)==2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')
if __name__=='__main__':
test()
任何模块代码的第一个字符串都被视为模块的文档注释。
模块是一组Python代码的集合,可以使用其他模块,也可以被其他模块使用。
创建自己的模块时,要注意:
- 模块名要遵循Python变量命名规范,不要使用中文、特殊字符;
- 模块名不要和系统模块名冲突,最好先查看系统是否已存在该模块,检查方法是在Python交互环境执行import abc,若成功则说明系统存在此模块。
作用域
在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在Python中,是通过_前缀来实现的。
正常的函数和变量名是公开的(public),可以被直接引用。类似_xxx
和__xxx
这样的函数或变量就是非公开的(private),不应该被直接引用。(Python并没有一种方法可以完全限制访问private函数或变量,但是,从编程习惯上不应该引用private函数或变量。)
def _private_1(name):
return 'hello %s' % name
def _private_2(name):
return 'hi %s' % name
def geeting(name):
if len(name) > 3:
return _private_1(name)
else:
return _private_2(name)
print(geeting('forest'))
外部不需要引用的函数全部定义成private,只有外部需要引用的函数才定义为public。
安装第三方模块
在Python中,安装第三方模块,是通过包管理工具pip完成的。在命令提示符窗口下尝试运行pip
,如果Windows提示未找到命令,则需要安装pip。
一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比如Pillow的名称叫Pillow,因此,安装Pillow的命令就是:
pip install Pillow
在使用Python时,我们经常需要用到很多第三方库,例如,上面提到的Pillow,以及MySQL驱动程序,Web框架Flask,科学计算Numpy等。用pip一个一个安装费时费力,还需要考虑兼容性。推荐直接使用Anaconda,这是一个基于Python的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,我们装上Anaconda,就相当于把数十个第三方模块自动安装好了,非常简单易用。
模块搜索路径
当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错。默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块。搜索路径存放在sys
模块的path
变量中。
添加自己的搜索目录:
1.直接修改sys.path
,添加要搜索的目录。
sys.path.append('')#引号里边放路径
2.设置环境变量PYTHONPATH
,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响.