• 速战速决 Python python 模块,包: 基础


    速战速决 Python https://github.com/webabcd/PythonSample
    作者 webabcd

    速战速决 Python - python 模块,包: 基础

    示例如下:

    module/module1.py

    def a():
        print("module1_a")
    
    def b():
        print("module1_b")
    
    if __name__ == '__main__': # 程序是在该模块自身运行的
       print('module1_没人引用我,我是主模块')
    else: # 程序是在其它地方运行的,那个地方引用了这个模块
       print('module1_我被引用了,我不是主模块')
    

    module/module2.py

    def a():
        print("module2_a")
    
    def b():
        print("module2_b")
    
    if __name__ == '__main__': # 程序是在该模块自身运行的
       print('module2_没人引用我,我是主模块')
    else: # 程序是在其它地方运行的,那个地方引用了这个模块
       print('module2_我被引用了,我不是主模块')
    

    module/demo.py

    # 导入 module1.py(注:在一个文件中即使你多次 import 一个模块,这个模块也只会被导入一次)
    import module1
    # 然后就可以调用 module1 中的函数了(需要指定模块名)
    module1.a()
    # 可以给导入的模块或模块中的函数指定一个别名,之后就可以直接使用这个别名了
    x = module1.b
    x()
    
    
    # 导入 module2.py 中的 a 函数和 b 函数,同时为 b 函数指定一个别名
    from module2 import a, b as y # 如果全部导入的话就 from module2 import *
    # 然后就可以调用 module2 中的函数了(不需要指定模块名)
    a()
    y()
    
    
    # 通过包名的方式导入
    import player.audio.codec
    # 调用时需要指定全名
    player.audio.codec.show()
    
    
    # 从指定的包名中导入指定的模块,或从指定的模块全名中导入指定的函数,同时可以指定别名
    from player.video import codec as videoCodec
    # 调用时不需要指定全名
    videoCodec.show()
    
    
    '''
    关于上面的通过包名方式导入的说明:
    1、要求包的各个目录只存在一个名为 __init__.py 的文件,这样才会被认为是一个包
    2、导入时是支持星号的,类似这种 from xxx import *
       如果要为 * 定义自定义逻辑,则需要在每个目录中的 __init__.py 文件中写一行类似如下的代码(列表中配置的是当前目录中可以通过 * 导入的 py 文件的名称)
       __all__ = ["aaa", "bbb", "ccc"]
    '''
    

    速战速决 Python https://github.com/webabcd/PythonSample
    作者 webabcd

  • 相关阅读:
    Linux 安装oracle客户端
    测试杂感:Bug Bash
    常用Eclipse插件在线安装地址
    [转]Source Insight使用小技巧小结
    cygwin安装
    Jmeter常见问题
    对测试人员或开发人员来说相互沟通有多重要?
    QTP基础学习(二)启动与设置
    什么是基准测试?
    推荐几款热门的网站测试工具
  • 原文地址:https://www.cnblogs.com/webabcd/p/python_module_module1_module_module2_module_demo.html
Copyright © 2020-2023  润新知