Python基础笔记系列十:模块

  本系列教程供我的学习笔记使用,若是您要浏览可能须要其它编程语言基础(如C语言),why?由于我写得烂啊,只有我本身看得懂!!java

  • 模块

    #1.类比于java中的jar包,模块能让你可以有逻辑地组织你的Python代码段。
    #2.把相关的代码分配到一个模块里能让你的代码个更好用,更易懂。
    #3.模块也是Python对象,具备随机的名字属性用来绑定或引用。
    #4.简单来讲,模块就是一个保存了Python代码的文件。模块能自定义函数,类和变量。模块里也能包含可执行的代码。python

  • 模块引入
    python提供了不少第三方的模块能够引入,python标准安装包里的模块称为标准库。模块的引入主要有如下三种:
    ①引入模块
    import moduleName

    ②引入模块下的函数web

    from moduleName import function1 , function2 ,...

    ③引入模块的全部函数编程

    from moduleName import *

    其中第一种引入模块的方式在使用模块时须要带上模块名(moduleName.methodName),如math.sqrt();
    引入模块后就可使用模块里的方法了。

    例子:计算25的平方根app

    1 import math 2 r = math.sqrt(25) 3 print r

    若是模块或者函数名字过长能够在import后使用as给该模块取个假名,以后能够经过“假名.函数”来使用模块里的函数。
    例子:
    编程语言

    1 import webbrowser as myweb 2 myweb.open_new_tab("http://www.cnblogs.com/hyyq/")

     

  • 使用自定义模块
    任何Python程序hello.py(无主函数)均可以做为一个模块被另一个Python程序test.py引入使用。
    例子:
    hello.py :函数

    1 #incoding:utf-8
    2 def hello(): 3     print 'import this module!'
    4 def bokeyuan(): 5     print 'http://www.cnblogs.com/hyyq/'

    test.py :学习

    1 #incoding:utf-8
    2 import hello #文件名做为模块名,不须要后缀.py哦~
    3 hello.hello() 4 hello.bokeyuan()

    输出:this

    1 import this module! 2 http://www.cnblogs.com/hyyq/

    以上引入模块的程序和模块程序须要在同一目录下,局限性很大。若是想让模块能够被任何文件引用,能够调用os.path.append(模块文件所在目录)添加模块所在目录到系统里去。
    例子:假设文件结构spa

    ~/|模块    #文件夹模块
    —————|test.py #调用‘hello’模块的程序文件
    —————|hello #hello文件夹
    ———————|hello.py #模块文件
    ———————|hello.pyc #模块字节码文件

    test.py:

    #incoding:utf-8
    import sys sys.path.append('./hello') #当前目录下的hello文件夹
    import hello #文件名做为模块名,不须要后缀.py哦~
    hello.hello() hello.bokeyuan()

    这种将文件目录加入系统里这种方式也有局限性,而且用起来也很麻烦。通常地,通用的告知python解释器到哪儿去找模块文件的方法有三:
    ①PYTHONPATH环境变量里增长模块文件路径
    ②.pth文件,文件里列出全部模块文件所在路径(放在python安装目录下便可)
    ③模块打包(推荐)

相关文章
相关标签/搜索