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使用点操作符访问字典(dict)数据的方法
        Mar 16 Python
        Python类属性与实例属性用法分析
        May 09 Python
        在Django的视图(View)外使用Session的方法
        Jul 23 Python
        python&MongoDB爬取图书馆借阅记录
        Feb 05 Python
        深入解析Python中函数的参数与作用域
        Mar 20 Python
        学习python中matplotlib绘图设置坐标轴刻度、文本
        Feb 07 Python
        Python实现线程状态监测简单示例
        Mar 28 Python
        python3.7.0的安装步骤
        Aug 27 Python
        Python通过for循环理解迭代器和生成器实例详解
        Feb 16 Python
        Django自定义用户表+自定义admin后台中的字段实例
        Nov 18 Python
        详解python网络进程
        Jun 15 Python
        python获取对象信息的实例详解
        Jul 07 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
        cmd下运行php脚本
        2008/11/25 PHP
        php提示undefined index的几种解决方法
        2012/05/21 PHP
        yii实现CheckBox复选框在同一行显示的方法
        2014/12/03 PHP
        避免Smarty与CSS语法冲突的方法
        2015/03/02 PHP
        PHP使用Face++接口开发微信公众平台人脸识别系统的方法
        2015/04/17 PHP
        微信小程序 消息推送php服务器验证实例详解
        2017/03/30 PHP
        Javascript图像处理—亮度对比度应用案例
        2013/01/03 Javascript
        探讨javascript是不是面向对象的语言
        2013/11/21 Javascript
        jquery获取当前日期的方法
        2015/01/14 Javascript
        JavaScript表格常用操作方法汇总
        2015/04/15 Javascript
        jQuery+HTML5实现手机摇一摇换衣特效
        2015/06/05 Javascript
        基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
        2016/01/07 Javascript
        jQuery实现的放大镜效果示例
        2016/09/13 Javascript
        jQuery插件WebUploader实现文件上传
        2016/11/07 Javascript
        jQuery实现背景滑动菜单
        2016/12/02 Javascript
        原生js实现抽奖小游戏
        2019/06/27 Javascript
        解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
        2019/11/14 Javascript
        Ajax获取node服务器数据的完整步骤
        2020/09/20 Javascript
        简单文件操作python 修改文件指定行的方法
        2013/05/15 Python
        浅谈python中截取字符函数strip,lstrip,rstrip
        2015/07/17 Python
        Flask的图形化管理界面搭建框架Flask-Admin的使用教程
        2016/06/13 Python
        python保存字典和读取字典的实例代码
        2019/07/07 Python
        python快速排序的实现及运行时间比较
        2019/11/22 Python
        python3实现elasticsearch批量更新数据
        2019/12/03 Python
        python 定义类时,实现内部方法的互相调用
        2019/12/25 Python
        Python使用docx模块实现刷题功能代码
        2020/02/13 Python
        DVF官方网站:美国时装界尊尚品牌
        2017/08/29 全球购物
        澳大利亚运动鞋零售商:The Athlete’s Foot
        2018/11/04 全球购物
        King Apparel官网:英国街头服饰品牌
        2019/09/05 全球购物
        Nobody Denim官网:购买高级女士牛仔裤
        2021/03/15 全球购物
        函授大专自我鉴定
        2013/11/01 职场文书
        创业计划书如何吸引他人眼球
        2014/01/10 职场文书
        旅游节目策划方案
        2014/05/26 职场文书
        护理专业毕业自我鉴定
        2019/08/12 职场文书
        关于python爬虫应用urllib库作用分析
        2021/09/04 Python
        CSS巧用渐变实现高级感背景光动画
        2021/12/06 HTML / CSS