Python基础笔记系列十:模块

  本系列教程供个人学习笔记使用,如果您要浏览可能需要其它编程语言基础(如C语言),why?因为我写得烂啊,只有我自己看得懂!!

  • 模块

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

  • 模块引入
    python提供了很多第三方的模块可以引入,python标准安装包里的模块称为标准库。模块的引入主要有以下三种:
    ①引入模块
    import moduleName

    ②引入模块下的函数

    from moduleName import function1 , function2 ,...

    ③引入模块的所有函数

    from moduleName import *

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

    例子:计算25的平方根

    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()

    输出:

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

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

    ~/|模块    #文件夹模块
    —————|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安装目录下即可)
    ③模块打包(推荐)

posted @ 2018-04-26 22:57  敲代码的小松鼠  阅读(248)  评论(0编辑  收藏  举报

你若不想做,总会找到“接口”;你若想做,总会找到“方法”。