• 【python学习】之三、模块


    作者:jofranks 原创作品,转载请标明出处!版权所有,侵权必究!

    来源:http://blog.csdn.net/jofranks


    在这里我们要先看两个概念:模块和导入

    当代吗数量非常大的时候,我们可以把代码分成一些有组织的代码段,前提是保证他们的彼此交互。这些代码片段相互间有一定的联系。这些代码段是共享的,python允许调入一个模块,允许使用其他模块的属性来利用之前的工作成果,实现代码重用!       这个把其他模块中属性附加到自己模块中的操作就是导入(import)。   

    而那些自我包含并且有组织的代码片段就是模块(module)~!


    模块的导入需要一个叫做“路径搜索”的过程。就是在文件系统“预定义区域”中查找文件!

    路径搜索:指查找某个文件的操作!

    搜索路径:去查找一组目录! (在不同系统下一般是不同的!)


    模块导入:

    1、import

    import module1
    import module2
    。。。。

    也可以
    import module1[, module2[, ...moduleN]]
    一般情况下,我们很少用第二种方法!

    在python中,我们的导入顺序最好是:

    (1)、python标准库模块

    (2)、python第三方模块

    (3)、应用程序自定义模块


    2、from-import语句

    你可以在你的模块中导入指定的模块属性!

    from module import name1[, name2[, ...nameN]]

    我们也可以用from-import实现多行导入!!

    如:

    from Tkinter import (Tk, Frame, Button, Entry, Canvas, Text, LEFT, DISABLED, NORMAL, RIDGE, END)

    我们在编程的时候应该使用上面的语句来创建合理的多行导入,

    不要使用下面的方式:


    from Tkinter import *

    3、扩展的import语句

    有时候你导入的模块或是模块属性名称已经在你的程序中使用了,或者你不想使用导入的名字!    我们要使用自己想要的名字替换模块的原始名称。    ---一个方案:把模块复制给一个变量!

    import longmodulename
    short = longmodulename
    del longmodulename

    现在我们使用扩展的import就可以在导入的同时制定局部绑定名称!

    如:

    import Tkinter
    from cgi import FieldStorage
    上面的代码可以替换为:



    import Tkinter as tk
    from cgi import FieldStorage as form


    包:

    包是一个有层次的文件目录结构!他定义了一个由模块和子包组成的python应用程序执行环境。

    她也使用句点属性标识来访问他们的属性,使用import和from import语句导入包中的模块!

    1、目录结构

    Phone/

    _init_.py

    Voicedta/

    a.py

    Fx/

    d.py

    g/

    f.py

    如上面的目录结构:我么可以这样导入包:

    import Phone.Fx.d

    你也可以这样:

    from Phone import Fx
    Fx.d.dx()

    或者:

    from Phone.Fx import d

    或者你可以按照这样的方式一直沿子包的树状结构导入


    2、使用from-import导入包

    (1)、绝对导入

    import语句总是绝对导入!

    (2)、相对导入

    相对导入只用于from-import语句!




    -----2012/7/30

    -----jofranks 于南昌

  • 相关阅读:
    物联网数据卡系统源码——物联网的主要应用领域
    一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别
    memcached对key和value的限制 memcached的key最大长度和Value最大长度
    缓存技术PK:选择Memcached还是Redis?
    .Net开源框架列表
    项目管理工具Redmine各功能测试
    DBImport V3.7版本发布及软件稳定性(自动退出问题)解决过程分享
    ASP.NET Core 折腾笔记一
    发布:.NET开发人员必备的可视化调试工具(你值的拥有)
    开源发布:VS代码段快捷方式及可视化调试快速部署工具
  • 原文地址:https://www.cnblogs.com/java20130723/p/3211429.html
Copyright © 2020-2023  润新知