• python学习之模块&包的引用


    名词解释:

    模块:一个程序文件

    包:相当于一个类库,打包发布后相当于c#中的dll, 包中可包括若干个模块,比如main.py就是一个模块,对于test2文件下的所有模块组成一个包

    对于一个包而言,注定是要被其它模块进行引用,所以需要一件初始化信息,比如包的路径,这些信息都是依赖包下的__init__py文件中,对于包下的子包(命名空间下的子命名空间)每一级都会存在__init__py文件

    具体可参照下图

    下面讲述如何在代码中去引用模块或者包

    1:在主程序main.py中引用provide.py模块,并且执行其中的方法

    import provide;
    provide.stringProvider("hello");

    或者
    from provide import stringProvider;
    stringProvider("hello");

    或者

    from provide import stringProvider;
    a=stringProvider;
    a("hello");

    2:在主程序main.py中引用test2类库下的模块,并且执行其中的方法

    我们要访问test2下的tester 中的info.py模块的方法,因为类库跟模块不在同一个目录中,所以我们必须要加入一个上层路径

    关于访问不同目录的方法有许多种,可以参照http://python.usyiyi.cn/python_343/tutorial/modules.html#packages-in-multiple-directories

    代码为

    import sys;
    sys.path.append("..");

    因此可以向上面一样进行引用

    from test2.tester import info;
    info.printinfo();

    如果写为import test2.tester.info;

    则方法的引用也要同样写完整:test2.tester.info.printinfo();

  • 相关阅读:
    Cat- Linux必学的60个命令
    Cmp- Linux必学的60个命令
    Diff- Linux必学的60个命令
    ls- Linux必学的60个命令
    mv- Linux必学的60个命令
    Find- Linux必学的60个命令
    libvirt
    PHP 设计模式 笔记与总结(2)开发 PSR-0 的基础框架
    Java实现 LeetCode 147 对链表进行插入排序
    Java实现 LeetCode 146 LRU缓存机制
  • 原文地址:https://www.cnblogs.com/airven/p/4959195.html
Copyright © 2020-2023  润新知