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


Posted in Python onJanuary 07, 2020

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

相关内容:

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

什么是模块:

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

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

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

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

模块的导入:

 

  • 模块导入:

    • import 模块名
    #import 模块名
    import math
    print(math.sqrt(9))
    • from…import 语句:从模块中导入一个指定的部分,如类、方法,其中from…import * 代表导入全部内容
#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 库中搜索

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

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

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

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

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

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

      目录结构:Python模块的定义,模块的导入,__name__用法实例分析

      c中内容:Python模块的定义,模块的导入,__name__用法实例分析

      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

        目录结构:Python模块的定义,模块的导入,__name__用法实例分析

        d中内容:Python模块的定义,模块的导入,__name__用法实例分析

        c中如何导入d:

        from d2 import d

        或:

        import d2.d

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


        __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__,所以不会执行Python模块的定义,模块的导入,__name__用法实例分析

        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程序设计有所帮助。

        Python 相关文章推荐
        python查找第k小元素代码分享
        Dec 18 Python
        Python调用ctypes使用C函数printf的方法
        Aug 23 Python
        详解Python 切片语法
        Jun 10 Python
        Python代码使用 Pyftpdlib实现FTP服务器功能
        Jul 22 Python
        基于Python中isfile函数和isdir函数使用详解
        Nov 29 Python
        40个你可能不知道的Python技巧附代码
        Jan 29 Python
        Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
        Mar 19 Python
        python爬虫学习笔记之pyquery模块基本用法详解
        Apr 09 Python
        解决python3中os.popen()出错的问题
        Nov 19 Python
        django使用多个数据库的方法实例
        Mar 04 Python
        python实现股票历史数据可视化分析案例
        Jun 10 Python
        Python字典的基础操作
        Nov 01 Python
        python 微信好友特征数据分析及可视化
        Jan 07 #Python
        Python打开文件、文件读写操作、with方式、文件常用函数实例分析
        Jan 07 #Python
        Python装饰器原理与基本用法分析
        Jan 07 #Python
        python保留小数位的三种实现方法
        Jan 07 #Python
        pytorch之ImageFolder使用详解
        Jan 06 #Python
        pytorch之inception_v3的实现案例
        Jan 06 #Python
        pytorch之添加BN的实现
        Jan 06 #Python
        You might like
        Smarty变量调节器失效的解决办法
        2014/08/20 PHP
        详解PHP中instanceof关键字及instanceof关键字有什么作用
        2015/11/05 PHP
        PHP时间相关常用函数用法示例
        2020/06/03 PHP
        初窥JQuery-Jquery简介 入门了解篇
        2010/11/25 Javascript
        jQuery EasyUI API 中文文档 搜索框
        2011/09/29 Javascript
        js获取元素到文档区域document的(横向、纵向)坐标的两种方法
        2013/05/17 Javascript
        js捕获鼠标滚轮事件代码
        2013/12/16 Javascript
        js实现图片旋转的三种方法
        2014/04/10 Javascript
        java、javascript实现附件下载示例
        2014/08/14 Javascript
        jQuery中innerHeight()方法用法实例
        2015/01/19 Javascript
        JavaScript获得url所有参数键值表的方法
        2015/03/21 Javascript
        JavaScript File API实现文件上传预览
        2016/02/02 Javascript
        JavaScript中的Number数字类型学习笔记
        2016/05/26 Javascript
        jQuery EasyUI基础教程之EasyUI常用组件(推荐)
        2016/07/15 Javascript
        JavaScript数据结构之广义表的定义与表示方法详解
        2017/04/12 Javascript
        通过seajs实现JavaScript的模块开发及按模块加载
        2019/06/06 Javascript
        JavaScript RegExp 对象用法详解
        2019/09/24 Javascript
        详解JavaScript 异步编程
        2020/07/13 Javascript
        微信小程序实现音乐播放页面布局
        2020/12/11 Javascript
        vue 实现图片懒加载功能
        2020/12/31 Vue.js
        PYTHON 中使用 GLOBAL引发的一系列问题
        2016/10/12 Python
        基于Linux系统中python matplotlib画图的中文显示问题的解决方法
        2017/06/15 Python
        python3实现跳一跳点击跳跃
        2018/01/08 Python
        Python爬取数据并写入MySQL数据库的实例
        2018/06/21 Python
        Python批处理更改文件名os.rename的方法
        2018/10/26 Python
        python,Django实现的淘宝客登录功能示例
        2019/06/12 Python
        以SQLite和PySqlite为例来学习Python DB API
        2020/02/05 Python
        CSS3之背景尺寸Background-size使用介绍
        2013/10/14 HTML / CSS
        美国顶级户外凉鞋品牌:Chacos
        2017/03/27 全球购物
        大三学生做职业规划:给未来找个方向
        2014/02/24 职场文书
        销售2014年度工作总结
        2014/12/08 职场文书
        全国爱牙日活动总结
        2015/02/05 职场文书
        新年祝酒词大全
        2015/08/11 职场文书
        《中国机长》观后感:敬畏生命,敬畏职责
        2019/11/12 职场文书
        mysql对于模糊查询like的一些汇总
        2021/05/09 MySQL
        Oracle创建只读账号的详细步骤
        2021/06/07 Oracle