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("接收消息")
  • 相关阅读:
    努力
    散步
    相信自己
    我仅有的倔强
    存储过程 有用
    面试题整理 !=!=未看 *****面试题整理最全 有用
    项目介绍4 y有用
    面试题;40个多线程的问题 背1 有用
    面试题: redis面试题 有用 redis详细
    数据库相关内容 已看1 有用
  • 原文地址:https://www.cnblogs.com/kangwenju/p/12883200.html
Copyright © 2011-2022 走看看