zoukankan      html  css  js  c++  java
  • python中init编写from * import * 简化包的引用

    _init_ :  在调用该包时,会执行包中的init文件内容

    如图,Commonly包下有三个经常被调用的文件

    若要在其他外部文件(test)中调用Commonly中三个文件中的类,则需要在test中编写引用:   

    from Commonly.Param_url import Param
    from Commonly.Response import Response
    from Commonly.Request import Request

    若在多个文件中都引用Commonly中三个文件中的类,则需在每个文件中如此编写相较麻烦

    解决方法

    可在Commonly中的init文件中编写

    # from Commonly.Param_url import Param
    #from Commonly.Response import Response
    from Commonly.Request import Request
    from .Response import Response  # 表示在当前包下寻找Response
    from .Param_url import Param
    
    #__all__=['Param', 'Response', 'Request']   # 使用__all__写入要调用的模块名, 在其他文件调用时需写:模块名.(类名).方法名【若无类则:模块名.方法名)

    则在其他文件(test)中调用时可如下写即可:

    from Commonly import Request, Param, Response
    
    或者# from Commonly import *

    _init_的作用:

    1. Python中package的标识,不能删除

    2. 定义__all__用来模糊导入或者定义from * import * 引用包

    3. 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单)

  • 相关阅读:
    xtrabackup原理1
    mydumper原理3
    mydumper原理1
    mydumper原理2
    MYSQL数据库管理之权限管理
    percona-toolkit工具包的使用教程
    Percona-Galera-Monitoring-Template监控模板说明
    mysql优化--博森瑞
    percona-toolkit -1
    innobackupex --slave-info参数的含义和适用场景
  • 原文地址:https://www.cnblogs.com/byy521/p/15205113.html
Copyright © 2011-2022 走看看