zoukankan      html  css  js  c++  java
  • python基础-包的使用

        1.什么是包:

          包的本质就是文件夹,它由一个包含有__init__.py文件的文件加。

          包以及包下所有的文件都是用来被导入使用,没有一个文件是用来直接运行,

          因为包是模块的一中通用表现形式之一。----》from...import 和 import  使用

          

        2.为什么要有包?

          方便于集中管理,方便于使用者

        3.怎么用

          模块的使用一样。

          import 包名发生了什么事情?对比模块导入

          a.创建 p1 的名称空间

          b.执行p1下的__init__.py文件的代码,将执行过程中产生的名字都丢到p1名称空间中

          c.在当前执行文件中(调用者)拿到一个名字p1,p1指向__init__.py的名称空间。即原p1的名称空间

         4.包内模块:

          绝对导入:每次导入都是以最顶级包为起始开始查找。   搜索路径以执行文件的文件夹为基准。

          相对导入:相对于当前所在的文件,点.代表当前所在的文件目录,点点..代表上一级的目录。相对导入只能在被导入的模块中使用

          示例:

            

            执行文件run.py 导入m1模块

            做法:

              1.在p1模块的__init__.py导入m1模块

              2.执行文件是run.py 且m1不是内置模块,所以路径以执行文件的文件夹为基准

            __init__.py 文件  导入 m1模块

            

            run.py文件 导入 p1模块

            

          

        5.自定义模块导入的两种办法:

          a.import sys

           sys.path.append( r' 自定义模块绝对路径 ')

           import 自定义模块名

          b.以执行文件的文件夹为绝对路径  from  x import 自定义模块

                 

          

  • 相关阅读:
    npm安装elasticsearch-reindex
    Linux14_文本编辑器与终端配置
    Linux13_群组的管理和文件权限的管理
    Linux12_用户和权限
    Linux11_文件及目录以及其相关的组织命令
    Linux10_常用命令和操作
    Linux9_安装Linux系统
    基础概念——什么是POSIX
    C++Review21_宏和常量
    C++Review20_C++函数高级特性(重载、内联、const和virtual)
  • 原文地址:https://www.cnblogs.com/linbin7/p/10669166.html
Copyright © 2011-2022 走看看