zoukankan      html  css  js  c++  java
  • Python运行的添加环境变量,执行一个Python文件的或者导入模块的时候,执行的逻辑。

    这是简书的一个参考链接:https://www.jianshu.com/p/178c26789011

    作者写的蛮不错的。

    抬头就有非常重要的一段语录,我复制了下来。

    package的初始化工作

    一个package 被导入,不管在什么时候__init__.py的代码都只会被执行一次

    >>> import package
    hello world
    >>> import package
    >>> import package
    

    由于 package 被导入时 __init__.py 中的可执行代码会被执行,所以小心在 package 中放置你的代码,尽可能消除它们产生的副作用,比如把代码尽可能的进行封装成函数或类。

    __init__.py内的导入顺序

    当我尝试导入

    from package import something
    

    import语句会首先检查something是不是__init__.py的变量,然后检查是不是subpackage,再检查是不是module,最后抛出ImportError

    所以检查顺序如下:

    1. __init__.py 文件内变量
    2. 是不是package内的subpackage
    3. 是不是package内的module


    Python的环境变量,就是Python在运行的时候,添加模块的一系列路径,用于导入模块的时候,需要查找的模块的相对起始路径。

    首先给自己强调一点,Python在运行的时候,通过主文件运行,[无论是python xxx.py或者python abc/ccc/xxx.py]Python解释器会自动把该模块运行的目录添加到环境变量中,而且还目录具有第一优先级

    也就是说,在导入模块的时候,项目下的模块导入具有第一优先级。

    后面写一些自己的感受。

    当我们在运行一个Python项目,首先需要一个启动模块,也就是启动文件。这个跟计算机系统的运行原理差不多,一个进程的启动,必须由父进程来辅助其启动。

    运行环境相对还是比较简单,就是一些绝对路径,模块的话相对比较复杂一些。

  • 相关阅读:
    SQL CREATE INDEX 语句:如何创建索引?
    SQL DEFAULT 约束:使用方法及撤销方法解析
    SQL CHECK 约束:使用方法及撤销方法剖析
    SQL FOREIGN KEY 约束:外键的用法大全
    oracle表的管理和单行函数、多行函数、行列转换、分析函数以及集合运算
    oracle插入数据中文乱码问题
    oracle体系结构
    PL/SQL连接Oracle数据库
    SVN规范
    IDEA下 SVN 配置与使用
  • 原文地址:https://www.cnblogs.com/sidianok/p/14696037.html
Copyright © 2011-2022 走看看