zoukankan      html  css  js  c++  java
  • 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 ***
     
  • 相关阅读:
    web服务器-Apache
    nginx优化
    nginx下载限速
    nginx-URL重写
    HDU 5358 First One 求和(序列求和,优化)
    HDU 5360 Hiking 登山 (优先队列,排序)
    HDU 5353 Average 糖果分配(模拟,图)
    UVALive 4128 Steam Roller 蒸汽式压路机(最短路,变形) WA中。。。。。
    HDU 5348 MZL's endless loop 给边定向(欧拉回路,最大流)
    HDU 5344 MZL's xor (水题)
  • 原文地址:https://www.cnblogs.com/myshuzhimei/p/11751282.html
Copyright © 2011-2022 走看看