zoukankan      html  css  js  c++  java
  • 包,相对/绝对路径

    • 包是一个文件夹,也是一个模块,只是为了区分单个文件的模块,称之为包。因为单纯的文件夹无法作为模块,文件夹内的_init_.py(写死/规定)文件才是真正需要的东西

    • 所以本质上,包就是一个带_init_.py的文件夹。

    包被导入时发生的三件事

    import aaa
    
    1. 打开aaa里_init_.py文件
    2. Python解释器解释运行 __init__.py文件,把__init__.py里的名字丢入aaa模块的名称空间
    3. 导入aaa其实就是导入__init__里的名字
    • 和模块不同的地方在于:模块是直接打开文件,而包是打开里面的_init_.py文件

    为什么要有包

    • 模块内的函数太多了,不方便管理,需要把一个模块分成多个,但是分开后导入方式就变了。所以就有了包,可以起到一个类似于函数装饰器的作用
    • 好处:不改变模块原先的导入方式,并且简化模块开发者的管理复杂度

    相对路径

    from .aaa import *
    
    • .代表当前
    • ..代表上一级
    • ...代表上一级的上级

    相对路径的好处在于:万一包的名字改变了,使用相对路径不会对包内的名字造成任何影响

    • 相对路径是相对当前文件本身而言
    • .号前面必须是一个包,不能是一个模块
    • 当文件是执行文件时,不能使用相对路径

    绝对路径

    • 文件本身的路径
  • 相关阅读:
    C#程序调用cmd.exe执行命令
    JS正则表达式之特殊符号
    Java设计模式之策略模式
    Java基础之多态
    Filter过滤器笔记1
    Servlet笔记1
    jsp笔记3(内置对象)
    jsp笔记2(编译指令与动作指令)
    jsp笔记1(基本原理与语法)
    xml文件生成与下载
  • 原文地址:https://www.cnblogs.com/lucky75/p/10994913.html
Copyright © 2011-2022 走看看