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新手经常遇到的17个错误分析
        Jul 30 Python
        python学习之面向对象【入门初级篇】
        Jan 21 Python
        python机器学习理论与实战(二)决策树
        Jan 19 Python
        python实现图像识别功能
        Jan 29 Python
        Python之时间和日期使用小结
        Feb 14 Python
        pybind11在Windows下的使用教程
        Jul 04 Python
        Python调用C语言的实现
        Jul 26 Python
        django之状态保持-使用redis存储session的例子
        Jul 28 Python
        python+OpenCV实现车牌号码识别
        Nov 08 Python
        Keras 加载已经训练好的模型进行预测操作
        Jun 17 Python
        python利用 keyboard 库记录键盘事件
        Oct 16 Python
        Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
        Apr 14 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 中的str_replace 函数总结
        2007/04/27 PHP
        php删除页面记录 同时刷新页面 删除条件用GET方式获得
        2012/01/10 PHP
        php错误级别的设置方法
        2013/06/17 PHP
        php中文繁体和简体相互转换的方法
        2015/03/21 PHP
        php同时使用session和cookie来保存用户登录信息的实现代码
        2016/05/13 PHP
        用php和jQuery来实现“顶”和“踩”的投票功能
        2016/10/13 PHP
        关于php 高并发解决的一点思路
        2017/04/16 PHP
        Laravel下生成验证码的类
        2017/11/15 PHP
        PHP实现对图片的反色处理功能【测试可用】
        2018/02/01 PHP
        详解php中curl返回false的解决办法
        2019/03/18 PHP
        解决Laravel无法使用COOKIE和SESSION的问题
        2019/10/16 PHP
        基于jquery的一个浮动框(扩展性比较好 )
        2010/08/27 Javascript
        基本jquery的控制tabs打开的数量的代码
        2010/10/17 Javascript
        多种方法判断Javascript对象是否存在
        2013/09/22 Javascript
        简介JavaScript中substring()方法的使用
        2015/06/06 Javascript
        第二章之Bootstrap 页面排版样式
        2016/04/25 Javascript
        JS获取复选框的值,并传递到后台的实现方法
        2016/05/30 Javascript
        详解vue-cli开发环境跨域问题解决方案
        2017/06/06 Javascript
        浅谈Vue数据绑定的原理
        2018/01/08 Javascript
        详解auto-vue-file:一个自动创建vue组件的包
        2019/04/26 Javascript
        vue-week-picker实现支持按周切换的日历
        2019/06/26 Javascript
        原生javascript制作贪吃蛇小游戏的方法分析
        2020/02/26 Javascript
        python实现视频分帧效果
        2019/05/31 Python
        django框架中间件原理与用法详解
        2019/12/10 Python
        使用tensorflow显示pb模型的所有网络结点方式
        2020/01/23 Python
        Born鞋子官网:Born Shoes
        2017/04/06 全球购物
        毕业生教师求职信
        2013/10/20 职场文书
        十八届三中全会报告学习材料
        2014/02/17 职场文书
        优秀管理者事迹材料
        2014/05/22 职场文书
        施工工地安全标语
        2014/06/07 职场文书
        2014年教研组工作总结
        2014/11/26 职场文书
        人事主管岗位职责
        2015/02/04 职场文书
        泰坦尼克号观后感
        2015/06/04 职场文书
        招商银行收入证明
        2015/06/17 职场文书
        中秋节作文(五年级)之关于月亮
        2019/09/11 职场文书
        速龙x4-860k处理器相当于i几
        2022/04/20 数码科技