博客
关于我
PYTHON-模块定义 搜索路径
阅读量:796 次
发布时间:2023-03-08

本文共 1221 字,大约阅读时间需要 4 分钟。

模块的基本概念与使用方法

模块是Python编程中的一个核心概念,它实际上是Python文件的基本单位。一个单独的.py文件就是一个模块,而一个函数则是模块中的一部分功能。例如,文件A.py中的内容就构成了一个模块A。

模块的来源

模块可以分为以下几种类型:

  • 自定义模块

    这包括你自己编写的模块,也可以是第三方开发的模块。自定义模块的优势在于可以减少代码冗余,提高代码的可复用性。

  • 内置模块

    内置模块是Python官方提供的模块,通常由C语言或C++编写后通过Python解释器接口到Python中。常见的内置模块有time、os、math等。

  • 预编译模块

    这些模块通常是用C或C++编写的,已经预编译成动态链接库(DLL)。使用这些模块时,只需导入即可使用,无需了解其内部实现。

  • 包

    包实际上是一个包含多个模块的文件夹。一个包可以包含多个.py文件,每个文件都可以是一个独立的模块。例如,mypackage包中可以包含mypackage/module1.py和mypackage/module2.py。

  • 模块的使用方式

    模块的使用遵循一定的规则,确保代码的复用性和避免命名冲突:

  • 导入模块

    使用import语句可以将模块导入当前文件。例如:

    import spam  # 导入spam模块import spam as s  # 给模块取别名import spam, eggs  # 一次导入多个模块from spam import money  # 从模块中导入特定名称
  • 从模块导入所有名称

    使用import *可以将模块中的所有公共名称导入当前文件:

    from spam import *  # 导入spam模块中的所有可导出名称
  • 模块的命名空间

    每个模块在导入后都会创建一个命名空间,存储模块内的所有名称。通过这个命名空间,可以避免与主程序的命名空间产生冲突。

  • 模块的执行方式

    一个.py文件可以有两种执行方式:

  • 作为执行文件

    双击或右键点击运行,Python会执行文件中的代码。

  • 作为模块被导入

    使用import语句将其作为其他文件的依赖使用。此时,__name__变量会等于模块名,而不是__main__。

  • 模块的搜索路径

    Python在查找模块时,会按照以下顺序搜索:

  • 已经被加载到内存中的模块。
  • 内置模块。
  • sys.path列表中的路径。
  • sys.path默认包含当前工作目录和一些标准路径。如果需要添加自定义路径,可以手动修改sys.path。例如:

    import syssys.path.append(r'D:\脱产三期视频\day16\03 模块的搜索路径1\dir1')

    注意事项

    • 模块的使用需要谨慎管理命名空间,避免名称冲突。
    • 模块的导入操作只会在首次导入时执行代码,后续导入会直接使用缓存。
    • 使用__name__判断模块的执行状态,可以帮助区分模块和执行文件。

    通过合理使用模块,可以显著提升代码的复用性和开发效率。

    转载地址:http://hzlfk.baihongyu.com/

    你可能感兴趣的文章
    python3 文本变图片
    查看>>
    Python3 查看 com 组件的属性
    查看>>
    python3 案例分享--发邮件
    查看>>
    python3 模板库_Python3 标准库概览_Python教程_我爱模板网 - 提供下载各种免费建站资源,免费网站模板,免费网页特效,让你爱上建站!...
    查看>>
    Python3 求最大/小值及索引值 Numpy
    查看>>
    python3+django使用celery执行某些任务失败的解决方案
    查看>>
    Python3+Requests+Unittest实战系列【一】
    查看>>
    python3+requests+unittest实战系列【一】
    查看>>
    python3+requests+unittest实战系列【二】
    查看>>
    Python3+Requests+Unittest实战系列【二】
    查看>>
    python3----ASCII
    查看>>
    Python3-selenium自动化测试框架,结合HTMLTestRunner测试报告!
    查看>>
    Python3-如何自我更新作为服务运行的应用程序
    查看>>
    Python3.1-网格模拟概念性问题
    查看>>
    Python3.12 解决conda环境libstdc++版本过低问题
    查看>>
    python3.2批量查询IP地址区域
    查看>>
    Python3.5中协程和未来/任务之间的区别?
    查看>>
    python3.5实现socket通讯(TCP)
    查看>>
    python3.6 ubuntu部署nginx、 uwsgi、 django
    查看>>
    Python3.6.3中,functools似乎不能用
    查看>>