Python学习之模块

Python学习目录python

  1. 在Mac下使用Python3
  2. Python学习之数据类型
  3. Python学习之函数
  4. Python学习之高级特性
  5. Python学习之函数式编程
  6. Python学习之模块
  7. Python学习之面向对象编程
  8. Python学习之面向对象高级编程
  9. Python学习之错误调试和测试
  10. Python学习之IO编程
  11. Python学习之进程和线程
  12. Python学习之正则
  13. Python学习之经常使用模块
  14. Python学习之网络编程

在计算机程序的开发过程当中,随着程序代码越写越多,在一个文件里代码就会愈来愈长,愈来愈不容易维护。编程

为了编写可维护的代码,咱们把不少函数分组,分别放到不一样的文件里,这样,每一个文件包含的代码就相对较少,不少编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。网络

为了不模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。框架

请注意,每个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,不然,Python就把这个目录当成普通目录,而不是一个包。__init__.py能够是空文件,也能够有Python代码,由于__init__.py自己就是一个模块。编程语言

使用模块

概述

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

' a test module '

__author__ = 'Michael Liao'

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()
复制代码

第1行和第2行是标准注释,第1行注释可让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文件自己使用标准UTF-8编码;函数式编程

第4行是一个字符串,表示模块的文档注释,任何模块代码的第一个字符串都被视为模块的文档注释;函数

第6行使用__author__变量是指做者。工具

以上就是Python模块的标准文件模板。post

有个注意点:当咱们运行当前模块文件时,Python解释器把一个特殊变量__name__置为__main__学习

做用域

在一个模块中,咱们可能会定义不少函数和变量,但有的函数和变量咱们但愿给别人使用,有的函数和变量咱们但愿仅仅在模块内部使用。在Python中,是经过_前缀来实现的。

正常的函数和变量名是公开的(public),能够被直接引用,好比:abcx123PI等;

相似__xxx__这样的变量是特殊变量,能够被直接引用,可是有特殊用途,好比上面的__author____name__就是特殊变量,hello模块定义的文档注释也能够用特殊变量__doc__访问,咱们本身的变量通常不要用这种变量名;

相似_xxx__xxx这样的函数或变量就是非公开的(private),不该该被直接引用,好比_abc__abc等;

之因此咱们说,private函数和变量“不该该”被直接引用,而不是“不能”被直接引用,是由于Python并无一种方法能够彻底限制访问private函数或变量,可是,从编程习惯上不该该引用private函数或变量。

安装第三方模块

在Python中,安装第三方模块,是经过包管理工具pip完成的。

通常来讲,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,能够在官网或者pypi上搜索,好比Pillow的名称叫Pillow,所以,安装Pillow的命令就是:

pip install Pillow
复制代码

注:在使用Python时,咱们常常须要用到不少第三方库,例如,上面提到的Pillow,以及MySQL驱动程序,Web框架Flask,科学计算Numpy等。用pip一个一个安装费时费力,还须要考虑兼容性。咱们推荐直接使用Anaconda,这是一个基于Python的数据处理和科学计算平台,它已经内置了许多很是有用的第三方库,咱们装上Anaconda,就至关于把数十个第三方模块自动安装好了,很是简单易用。

下一篇:Python学习之面向对象编程

相关文章
相关标签/搜索