zoukankan      html  css  js  c++  java
  • pyhton学习——包

    • 包:文件夹中有一个__init__.py文件
    • 包:是几个模块的集合
      • # from import
      • # from glance.api import pickle
      • # from glance.api.policy import get
    • 直接导入包
      • # import glance
    • 导入一个包
      • 不意味着这个包下面的所有内容都是可以被使用的
    • 导入一个包到底发生了什么?
      • 相当于执行了这个包下面的__init__.py文件
    • 绝对导入
      • 优点:
        • 在执行一个py脚本的时候,这个脚本以及和这个脚本同级的模块中只能用绝对写入
      • 缺点:
        • 1.所有的导入都要从一个根目录下往后解释文件夹之间的关系
        • 2.如果当前导入包的文件和被导入的包的位置关系发上了变化那么所有的__init__文件都要做相应的调整
    • 相对导入:
    • 优点:
      • 不需要去反复的修改路径,只要一个包中的所有文件夹和文件的相对位置不发生改变也不需要去关心当前这个包和被执行的文件之间的层级关系
    • 缺点
      • 含有相对导入的py文件不能被直接执行,必须要放在包中被导入的调用才能执行#如果只是从包中导入模块的话,我们不需要做任何操作,直接导入就行
    • import urllib
      • 报错,说明urllib是个包,不能直接用resquest.py文件
    • url.request
      • from urllib import request# request正确导入方法
  • 相关阅读:
    排查线上问题常用的几个Linux命令
    OAuth2简易实战(一)-四种模式
    程序员必备的网站推荐
    C++ sizeof
    C++ 求余运算符
    C++ mutable(可变的)
    C++ const_cast用法
    C++常变量和文字常量
    C++中 <iso646.h>头文件
    java-网络编程-使用URLDecoder和URLEncoder
  • 原文地址:https://www.cnblogs.com/bilx/p/11366759.html
Copyright © 2011-2022 走看看