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的内建模块collections的教程
        Apr 28 Python
        在windows系统中实现python3安装lxml
        Mar 23 Python
        python妙用之编码的转换详解
        Apr 21 Python
        Python书单 不将就
        Jul 11 Python
        使用Python对微信好友进行数据分析
        Jun 27 Python
        Python使用matplotlib实现交换式图形显示功能示例
        Sep 06 Python
        python基于socket实现的UDP及TCP通讯功能示例
        Nov 01 Python
        pytorch-神经网络拟合曲线实例
        Jan 15 Python
        将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
        Mar 11 Python
        Python爬虫如何应对Cloudflare邮箱加密
        Jun 24 Python
        keras 两种训练模型方式详解fit和fit_generator(节省内存)
        Jul 03 Python
        基于python实现判断字符串是否数字算法
        Jul 10 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
        在命令行下运行PHP脚本[带参数]的方法
        2010/01/22 PHP
        微信公众平台实现获取用户OpenID的方法
        2015/04/15 PHP
        Thinkphp模板标签if和eq的区别和比较实例分析
        2015/07/01 PHP
        PHP模拟post提交数据方法汇总
        2016/02/16 PHP
        php简单处理XML数据的方法示例
        2017/05/19 PHP
        thinkPHP显示不出验证码的原因与解决方法分析
        2017/05/20 PHP
        基于jQuery的可用于选项卡及幻灯的切换插件
        2011/03/28 Javascript
        jquery 取子节点及当前节点属性值
        2014/07/25 Javascript
        Javascript基础知识(三)BOM,DOM总结
        2014/09/29 Javascript
        JavaScript使用DeviceOne开发实战(二) 生成调试安装包
        2015/12/01 Javascript
        js判断鼠标位置是否在某个div中的方法
        2016/02/26 Javascript
        Javascript的表单验证长度
        2016/03/16 Javascript
        JS动态改变浏览器标题的方法
        2016/04/06 Javascript
        Bootstrap表格和栅格分页实例详解
        2016/05/20 Javascript
        如何解决手机浏览器页面点击不跳转浏览器双击放大网页
        2016/07/01 Javascript
        AngularJS基础 ng-src 指令简单示例
        2016/08/03 Javascript
        JavaScipt选取文档元素的方法(推荐)
        2016/08/05 Javascript
        jquery 点击元素后,滚动条滚动至该元素位置的方法
        2016/08/05 Javascript
        JavaScript表单验证开发
        2016/11/23 Javascript
        Jquery Easyui对话框组件Dialog使用详解(14)
        2016/12/19 Javascript
        使用JS获取页面上的所有标签
        2018/10/18 Javascript
        [32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
        2020/12/16 DOTA
        Python作用域用法实例详解
        2016/03/15 Python
        Python 爬虫学习笔记之正则表达式
        2016/09/21 Python
        深入理解Python中的 __new__ 和 __init__及区别介绍
        2018/09/17 Python
        Django 自定义权限管理系统详解(通过中间件认证)
        2020/03/11 Python
        踩坑:pytorch中eval模式下结果远差于train模式介绍
        2020/06/23 Python
        Django如何批量创建Model
        2020/09/01 Python
        微软马来西亚官方网站:Microsoft马来西亚
        2019/11/22 全球购物
        酒吧创业计划书
        2014/01/18 职场文书
        环保倡议书格式范文
        2014/05/14 职场文书
        优秀应届本科生求职信
        2014/07/19 职场文书
        教育实践活动对照检查材料
        2014/09/23 职场文书
        运动会广播稿50字-100字
        2014/10/11 职场文书
        python随机打印成绩排名表
        2021/06/23 Python
        Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
        2022/04/06 数码科技