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实现的简单RPG游戏流程实例
        Jun 28 Python
        Python用zip函数同时遍历多个迭代器示例详解
        Nov 14 Python
        python实现八大排序算法(1)
        Sep 14 Python
        点球小游戏python脚本
        May 22 Python
        浅谈flask源码之请求过程
        Jul 26 Python
        配置 Pycharm 默认 Test runner 的图文教程
        Nov 30 Python
        python获取Pandas列名的几种方法
        Aug 07 Python
        python 统计文件中的字符串数目示例
        Dec 24 Python
        Pytorch的mean和std调查实例
        Jan 02 Python
        解决pycharm中导入自己写的.py函数出错问题
        Feb 12 Python
        Python批量将图片灰度化的实现代码
        Apr 11 Python
        教你用Python matplotlib库制作简单的动画
        Jun 11 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的类树(支持无限分类)
        2006/10/09 PHP
        了解Joomla 这款来自国外的php网站管理系统
        2010/03/11 PHP
        解析PHP中一些可能会被忽略的问题
        2013/06/21 PHP
        PHP提交表单失败后如何保留已经填写的信息
        2014/06/20 PHP
        10个php函数实用却不常见
        2015/10/13 PHP
        php封装db类连接sqlite3数据库的方法实例
        2017/12/19 PHP
        js判断是否为数组的函数: isArray()
        2011/10/30 Javascript
        jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
        2013/04/07 Javascript
        浅析js中2个等号与3个等号的区别
        2013/08/06 Javascript
        JS使用getComputedStyle()方法获取CSS属性值
        2014/04/23 Javascript
        一个可以增加和删除行的table并可编辑表格中内容
        2014/06/16 Javascript
        javascript实现详细时间提醒信息效果的方法
        2015/03/11 Javascript
        JQuery复制DOM节点的方法
        2015/06/11 Javascript
        从零开始学习Node.js系列教程之设置HTTP头的方法示例
        2017/04/13 Javascript
        jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
        2017/05/01 jQuery
        Angularjs上传图片实例详解
        2017/08/06 Javascript
        详解如何给React-Router添加路由页面切换时的过渡动画
        2019/04/25 Javascript
        JavaScript中reduce()的5个基本用法示例
        2020/07/19 Javascript
        [00:34]TI7不朽珍藏III——纯金地穴编织者饰品展示
        2017/07/15 DOTA
        使用python将时间转换为指定的格式方法
        2018/11/12 Python
        Python常用模块之requests模块用法分析
        2019/05/15 Python
        浅谈python 中类属性共享的问题
        2019/07/02 Python
        python实现桌面托盘气泡提示
        2019/07/29 Python
        使用 Python 处理3万多条数据只要几秒钟
        2020/01/19 Python
        python如何实时获取tcpdump输出
        2020/09/16 Python
        Sentry错误日志监控使用方法解析
        2020/11/12 Python
        Keras保存模型并载入模型继续训练的实现
        2021/02/20 Python
        解析HTML5中的新功能本地存储localStorage
        2016/03/01 HTML / CSS
        英国排名第一的在线宠物用品商店:Monster Pet Supplies
        2018/05/20 全球购物
        美国领先的眼镜和太阳镜在线零售商:Glasses.com
        2019/08/26 全球购物
        广告学专业应届生求职信
        2013/10/01 职场文书
        终端业务员岗位职责
        2013/11/27 职场文书
        婚礼新郎父母答谢词
        2014/01/16 职场文书
        奥巴马经典演讲稿
        2014/09/13 职场文书
        P站美图推荐——变身女主角特辑
        2022/03/20 日漫
        oracle数据库去除重复数据
        2022/05/20 Oracle