zoukankan      html  css  js  c++  java
  • 115.包

    包是一个包含多个模块的特殊目录,目录下有一个特殊的文件 __init.py,包名的命名方式一般使用小写字母和下划线组成。

    示例:
    1.新建一个 hm_message 的 包;
    2.在目录下,新建两个文件 send_message 和 receive_message;
    3.在 send_message 文件中定义一个 send 函数;
    4.在 receive_message 文件中定义一个 receive 函数;
    5.在外部直接导入 hm_message 的包;

    包的导入

    import 包名.模块名

    # 导入包中模块语法格式1:
    import hm_message.send_message
    import hm_message.receive_message
    
    # 使用方式
    hm_message.send_message.send()
    hm_message.receive_message.receive()

    from 包名 import 模块名

    # 导入包中模块语法格式2:
    from hm_message import send_message
    
    # 调用方式
    send_message.send()

    from 包名 import *

    # 导入包中模块语法格式3:
    from hm_message import *
    
    # 调用方式
    send_message.send()

    在包中__init__.py文件中,定义一个__all__变量,它控制着 from 包名 import *时导入的模块。

    例子:

    # 工程文件夹 -> 包 -> 模块 -> 类 -> 函数(方法) -> 变量
    
    # 包的导入
    # 01: import 包名.模块名
    # import hm_message.send_message, hm_message.receive_message
    #
    # # 使用格式: 包名.模块名. 全局变量 | 函数 | 类
    # hm_message.send_message.send()
    # hm_message.receive_message.receive()
    
    # 02: from 包名 import 模块名
    # from hm_message import  send_message
    # 使用格式: 模块名. 全局变量 | 函数 | 类
    # send_message.send()
    
    # 03: 选择性导入 哪些被导入 是包中 __init__.py文件中 __all__ 进行约束的
    from hm_message import *
    # 使用格式: 模块名. 全局变量 | 函数 | 类
    receive_message.receive()

    包中的模块:

    __init__.py中:

    __all__ = ["receive_message"]
    send_message中:
    # 定义一个函数
    def send():
        print("发送消息")
    receive_message中:
    # 定义一个函数
    def receive():
        print("接收消息")
  • 相关阅读:
    Swing 添加Esc快捷键退出程序
    DefaultTableCellRenderer 自定义
    项目清理和删除svn信息(转)
    时间转换工具类
    Java Swing 日期控件(转载)
    Eureka原理
    SpringCloud之Eureka注册中心集群篇
    spring boot及spring cloud介绍
    spring cloud 服务注册/发现/提供/调用 demo
    eclipse构建maven+scala+spark工程
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12883200.html
Copyright © 2011-2022 走看看