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 相关文章推荐
        以Flask为例讲解Python的框架的使用方法
        Apr 29 Python
        给Python入门者的一些编程建议
        Jun 15 Python
        Python自定义进程池实例分析【生产者、消费者模型问题】
        Sep 19 Python
        python中单例常用的几种实现方法总结
        Oct 13 Python
        使用python serial 获取所有的串口名称的实例
        Jul 02 Python
        Django 实现前端图片压缩功能的方法
        Aug 07 Python
        Python有参函数使用代码实例
        Jan 06 Python
        Python 分布式缓存之Reids数据类型操作详解
        Jun 24 Python
        Python selenium键盘鼠标事件实现过程详解
        Jul 28 Python
        利用Python优雅的登录校园网
        Oct 21 Python
        python代码实现图书管理系统
        Nov 30 Python
        python 判断字符串当中是否包含字符(str.contain)
        Jun 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
        PHP魔术方法__GET、__SET使用实例
        2014/11/25 PHP
        redis查看连接数及php模拟并发创建redis连接的方法
        2016/12/15 PHP
        PHP 并发场景的几种解决方案
        2019/06/14 PHP
        JS小框架 fly javascript framework
        2009/11/26 Javascript
        向大师们学习Javascript(视频与PPT)
        2009/12/27 Javascript
        Jquery实现带动画效果的经典二级导航菜单
        2013/03/22 Javascript
        nodejs npm包管理的配置方法及常用命令介绍
        2014/06/05 NodeJs
        Node.js实现简单聊天服务器
        2014/06/20 Javascript
        JavaScript实现twitter puddles算法实例
        2014/12/06 Javascript
        JavaScript中number转换成string介绍
        2014/12/31 Javascript
        jquery Validation表单验证使用详解
        2020/09/12 Javascript
        Jquery ajax 同步阻塞引起的UI线程阻塞问题
        2015/11/17 Javascript
        如何使用Bootstrap创建表单
        2017/03/29 Javascript
        JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
        2017/06/06 Javascript
        NodeJs之word文件生成与解析的实现代码
        2019/04/01 NodeJs
        更优雅的微信小程序骨架屏实现详解
        2019/08/07 Javascript
        微信小程序利用for循环解决内容变更问题
        2020/03/05 Javascript
        TypeScript 引用资源文件后提示找不到的异常处理技巧
        2020/07/15 Javascript
        [00:05]ChinaJoy现场 DOTA2玩家高呼“CN DOTA BEST DOTA”
        2019/08/04 DOTA
        python Django模板的使用方法(图文)
        2013/11/04 Python
        Python3之文件读写操作的实例讲解
        2018/01/23 Python
        python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
        2018/06/04 Python
        PyQt5实现简易计算器
        2020/05/30 Python
        Canvas与图片压缩的示例代码
        2017/11/28 HTML / CSS
        Clarins娇韵诗英国官网:来自法国的天然护肤品牌
        2017/04/18 全球购物
        企业项目策划书
        2014/01/11 职场文书
        好矿嫂事迹材料
        2014/01/21 职场文书
        环保建议书作文
        2014/03/12 职场文书
        政府绩效管理实施方案
        2014/05/04 职场文书
        服务型党组织建设典型材料
        2014/05/07 职场文书
        给市场的环保建议书
        2014/05/14 职场文书
        安全环保演讲稿
        2014/08/28 职场文书
        银行求职信模板
        2015/03/20 职场文书
        2016年“12.4”法制宣传日活动总结
        2016/04/01 职场文书
        golang interface判断为空nil的实现代码
        2021/04/24 Golang
        nginx location 带斜杠【 / 】与不带的区别
        2022/04/13 Servers