Python模块的定义,模块的导入,__name__用法实例分析

作者:随风行云 时间:2023-07-13 13:11:00 

本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:

相关内容:

  • 什么是模块

  • 模块的导入

    • 同级目录导入

    • 不同级目录导入

    • 目录内导入目录外

    • 目录外导入目录内

    • 模块的导入

    • 自模块的导入

    • __name__


    什么是模块:

    在Python中,模块就是一个个方法和类的仓库,如果我们想要使用某个模块中的某个方法或类,那么我们就需要导入对应的模板。

    【python有内置方法、类,所以有些方法我们并不需要导入模块】

    模块的使用:模块.函数 ,     模块.类


    #函数
    import math
    print(math.sqrt(3))
    #类
    import threading
    a=threading.Thread()
    print(a)

    模块的导入:

     

    • 模块导入:

      #import 模块名import mathprint(math.sqrt(9))  

      • from…import 语句:从模块中导入一个指定的部分,如类、方法,其中from…import * 代表导入全部内容

      • 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程序设计有所帮助。

    来源:https://www.cnblogs.com/progor/p/8413274.html

    标签:Python,模块,name
    0
    投稿

    猜你喜欢

  • Python和Sublime整合过程图示

    2023-04-11 15:23:33
  • js实现适用于素材网站的黑色多级菜单导航条效果

    2024-04-18 10:09:37
  • 在SUSE10环境下安装和配置MySQL数据库

    2008-12-17 15:03:00
  • python 拷贝特定后缀名文件,并保留原始目录结构的实例

    2021-08-30 04:17:46
  • MAC下mysql安装配置方法图文教程

    2024-01-17 22:38:46
  • Mysql双主配置的详细步骤

    2024-01-28 14:21:49
  • 基于OpenCV的网络实时视频流传输的实现

    2022-10-18 03:03:57
  • 使用python的pandas为你的股票绘制趋势图

    2023-12-29 19:48:46
  • Python基于文件内容实现查找文件功能

    2022-04-13 11:17:47
  • python3 logging日志封装实例

    2022-05-23 08:27:52
  • Vue子组件内的props对象参数配置方法

    2024-04-30 10:39:09
  • Python包argparse模块常用方法

    2023-04-03 13:30:58
  • Python多线程同步Lock、RLock、Semaphore、Event实例

    2023-08-03 20:47:15
  • asp如何用OdbcRegTool组件来创建一个数据源?

    2010-06-12 12:55:00
  • js事件委托和事件代理案例分享

    2024-04-28 09:51:31
  • python第三方库pygame的使用详解

    2023-07-21 13:27:19
  • Python 函数绘图及函数图像微分与积分

    2021-07-13 22:53:14
  • 浅谈对python中if、elif、else的误解

    2021-04-04 00:57:57
  • django redis的使用方法详解

    2023-08-03 10:54:30
  • 解决python xlrd无法读取excel文件的问题

    2022-01-25 10:48:44
  • asp之家 网络编程 m.aspxhome.com