zoukankan      html  css  js  c++  java
  • Day29

    1、包

    模块是对外提供功能的

    如果这个模块勾搭能提供的功能足够多 多到一个文件写不下

    把对外提供的功能根据提供的内容不同 分成几个文件 把这些文件放在一个文件夹下 形成了包

    直接导入包
    imort sys
    print(sys.path)
    
    
    使用绝对路径
    导入一个包相当于执行了包下面的__init__.py
    form new_pac import glance
    绝对路径 被直接执行的文件与包的关系必须是固定的
                一旦发生改变,包内的所有关系都要重新制定
                跨包引用
    View Code

    相对导入  绝对导入

    在glance/api/version.py
    
    #绝对导入
    from glance.cmd import manage
    manage.main()
    
    #相对导入
    from ..cmd import manage
    manage.main()
    View Code

    包就是py模块的集合

    自带__init__.py文件

      py2包中必须有一个__init__.py文件

    能不能导入一个包:要看sys.path中的路径下有没有这个包

    从包中导入模块:把包与包之间的关系写清楚 精确到模块 就一定能导入

    直接导入一个包,并不会导入包下的模块,而是执行这个包下的__init__.py文件

    如果对导入还有更高的要求

      可以对包中的__init__.py文件做定义

      绝对路径导入的方式

      相对路径导入的方式,使用相对路径导入的模块不能作为脚本执行

  • 相关阅读:
    shell脚本查找tcp过多ip地址封掉
    tomcat日志传参乱码问题
    nginx部署vue跨域proxy方式
    nginx部署VUE跨域访问api
    springboot2.1.3 + redisTemplate + Lock 操作 redis 3.0.5
    java8 lamb表达式对List排序
    Mysql5.7降级到5.6遇到的坑
    mac中git使用
    mac中git flow使用
    mac安装openjdk8-maven-mysql-git-docker
  • 原文地址:https://www.cnblogs.com/a352735549/p/8954809.html
Copyright © 2011-2022 走看看