• import机制


    import定义:Python code in one module gains access to the code in another module by the process of importing it.
     
    一 模块module
    文件,类型有".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"。
     
    二 包package
    目录,目录里的文件即上述模块,可以导入所有模块也可以导入部分模块。
    注意目录里为首的一个文件__init__.py。假如子目录中也有 __init__.py 那么它就是这个包的子包了。
    导入包的时候__init__.py文件会自动执行,这为管理很多文件进行统一初始化提供了很好的帮助。
     
    关于导入路径查找:
    程序会从sys.path中从前到后寻找这些目录下有没有我们要找的模块或者包。一旦找到即停止并返回路径。目前排在第一位的一般是当前程序所在路径,其次是各种安装包路径(所以安装包里隐藏了很多自带的模板文件,在任何自定义的程序文件中都可以直接拿来导入)。
     
    sys.path有两种方式查看:
    1.执行代码,查看输出结果。
    import sys, os
    print('--------')
    for path in sys.path:
        print(path)
    print('--------')
    2.在Console视图区域点击Option-Show sys.path contents。
     
    关于导入路径增加:
    可以用sys.path.append('c:\mypythonlib') ,注意加入到运行环境的环境变量后,文件运行结束后,这个环境变量就会被释放。
    也可以用sys.path.insert(1, 'c:\mypythonlib') 序号从0开始,表示最大优先级,加入的也是临时搜索路径,程序退出后失效。
     
    示例:
    文件a.py里定义了函数print1和print2,同时定义了变量k1和k2。
    def print1(i):
        print "hello {}".format(i)
    def print2(i):
        print "hello {}".format(i)
    k1 = 111
    k2 = 222
     
    文件b.py导入文件a.py后,被导入的文件名称a即作为当前程序文件的一个对象存在,敲入a.后会自动弹出a文件里定义的函数和变量,可以将其看作a的属性。
    import a
    a.print1("cj1")
    a.print2("cj2")
    print a.k1+a.k2
     
    输出:
    hello cj1
    hello cj2
    333
     
    假如文件a.py是放在文件夹FileA里,那么import a这一行代码可以修改为from FileA import a或者from FileA import *,后面的代码不需修改。
     
     
    https://www.jb51.net/article/152450.htm *****
    https://blog.csdn.net/sty945/article/details/78750950 ****
    https://cloud.tencent.com/developer/news/308692 ***
     
  • 相关阅读:
    HTML基础(一)基本语法知识
    本地方法接口
    本地方法栈
    虚拟机栈相关的问题
    栈帧的内部结构--一些附加信息
    基于角色的权限控制设计
    SpringBoot普通消息队列线程池配置
    栈帧的内部结构--动态返回地址(Return Address)
    栈帧的内部结构--动态链接 (Dynamic Linking)
    栈帧的内部结构--操作数栈(Opreand Stack)
  • 原文地址:https://www.cnblogs.com/myshuzhimei/p/11751282.html
Copyright © 2020-2023  润新知