当前位置:首页 » python教程 » 正文

Python模块的定义,模块的导入,__name__用法实例分析

看: 873次  时间:2020-12-15  分类 : python教程

本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:

相关内容:

  • 什么是模块
  • 模块的导入
    • 模块的导入
    • 自模块的导入
      • 同级目录导入
      • 不同级目录导入
        • 目录内导入目录外
        • 目录外导入目录内
  • __name__


什么是模块:

在Python中,模块就是一个个方法和类的仓库,如果我们想要使用某个模块中的某个方法或类,那么我们就需要导入对应的模板。

【python有内置方法、类,所以有些方法我们并不需要导入模块】

模块的使用:模块.函数 ,     模块.类

#函数
import math
print(math.sqrt(3))
#类
import threading
a=threading.Thread()
print(a)


模块的导入:

 

  • 模块导入:

    • import 模块名

    ```python

    import 模块名

    import math print(math.sqrt(9))

      <ul>
        <li>from…import 语句:从模块中导入一个指定的部分,如类、方法,其中from…import * 代表导入全部内容</li>
      </ul>
      </li>
    </ul>
    
    ```python  
    #from 模块名 import 类名、方法名
    from collections import Iterable 
    print(isinstance("abc",Iterable))
    print(isinstance([1,2,3],Iterable))
    • from…import导入的时候还能给导入的部分起个自定义的名字:如:from … import funcA as fa
    • 自模块导入:

    Python import 的搜索路径

    1.在当前目录下搜索该模块

    2.在环境变量 PYTHONPATH 中指定的路径列表中依次搜索 【可以从sys.path中获取】

    import sys
    print(sys.path)
    
    ----------
    运行结果:
    ['J:\\HardWork\\Code\\python', 
    'J:\\HardWork\\Code\\python',
     'I:\\python3\\python36.zip',
     'I:\\python3\\DLLs', 
    'I:\\python3\\lib',
     'I:\\python3', 
    'I:\\python3\\lib\\site-packages']

    3.在 Python 安装路径的 lib 库中搜索

    • 同级目录导入:直接导入

     image_thumb

    image_thumb[2]

    image_thumb[4]

    • 不同级目录导入:将对应目录加入到sys.path中,再import

      • 目录内的b导入目录外的c

    目录结构:image

    c中内容:image

    b中如何导入c:

    import sys,os
    print(__file__)##这是当前文件的绝对路径
    parent_dir=os.path.dirname(__file__)##获得当前文件的目录
    pp_dir=os.path.dirname(parent_dir)
    sys.path.append(pp_dir)
    # print(sys.path)
    import c  #要导入c,必须将diff_dir加入sys.path中
      • 目录外的c导入目录内的d

    目录结构:image

    d中内容:image

    c中如何导入d:

    from d2 import d

    或:

    import d2.d

    结果:image


    name:

    由于模块既可以被导入,也可以被直接运行,为了区分什么是直接运行时运行的内容,所以有了__name__:

     

    当直接运行时,name__是__main

    print("import C done")
    print(__name__)
    
    if __name__=='__main__':
     print("direct run")
    
    ---------------
    运行结果:
    import C done
    __main__
    direct run

    当用于导入时,__name__是当前导入的模块名,由于__name__不等于__main__,所以不会执行image_thumb[7]

    import sys,os
    
    # print(__file__)##这是当前文件的绝对路径
    parent_dir=os.path.dirname(__file__)##获得当前文件的目录
    pp_dir=os.path.dirname(parent_dir)
    sys.path.append(pp_dir)
    # print(sys.path)
    import c  #要导入c,必须将diff_dir加入sys.path中
    
    
    
    
    ------------------
    运行结果:
    import C done
    c


    希望本文所述对大家Python程序设计有所帮助。

<< 上一篇 下一篇 >>

搜索

推荐资源

  Powered By python教程网   鲁ICP备18013710号
python博客 - 小白学python最友好的网站!