网络编程
位置:首页>> 网络编程>> Python编程>> Python模块的定义,模块的导入,__name__用法实例分析

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

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

标签:Python,模块,name

本文实例讲述了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

    0
    投稿

    猜你喜欢

    手机版 网络编程 asp之家 www.aspxhome.com