个人技术站点JASONWU

Keep Coding


  • 主页

  • 文章

  • 搜索

Python 模块

新建: 2021-06-19 编辑: 2021-06-19   |   分类: Python   | 字数: 423 字

Python 中一个 .py 文件就是一个模块。Python 支持多种模块导入语法,此外通过 if __name__ == '__main__' 可避免在导入模块时,直接执行被导入模块中的所有代码。

Python 之所以能找到并导入模块(文件)的原因在于 sys.path。

Python
1import sys
2
3print(sys.path)

其中 sys.path 主要由以下几部分组成:

  1. 当前脚本所在目录
  2. 环境变量 PYTHONPATH
  3. Python 标准库所在目录
  4. 第三方包 site-packages

当导入的模块没有在 sys.path 中时,我们可以在导入模块之前手动添加所需路径:

Python
1import sys
2
3sys.path.append('/Users/jasonwu/Desktop')
4
5from my_module import test
6
7print(test)
8
9print(sys.path)

此外 Python 还允许我们通过环境变量添加所需路径。比如 Linux 下,添加环境变量 PYTHONPATH:

  • vi ~/.bash_profile 或 vim ~/.zprofile
  • . ~/.bash_profile 或 source ~/.zprofile
Shell
1export PYTHONPATH="/Users/jasonwu/Desktop"

导入模块

导入语法:

Python
1# 导入整个模块
2import module_name
3import module_name as alias
4
5# 导入特定方法和变量
6from module_name import name1 as alias1, ..., nameN
7
8# 导入所有方法和变量(极不推荐)
9from module_name import *

if __name__ == '__main__'

  • 当将 .py 文件作为主文件(单独脚本)运行时,__name__ 的值为 __main__
  • 当将 .py 文件作为模块导入时,__name__ 的值为被导入模块的文件名(不包含后 .py)

故 if __name__ == '__main__': 代表只在作为主文件运行时才会被执行的代码。

Python
1def main():
2  pass
3
4
5if __name__ == '__main__':
6  main()
#Module#

文章:Python 模块

链接:https://www.wuxianjie.net/posts/py-module/

作者:吴仙杰

文章: 本博客文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议,转载请注明出处!

npm 包管理器
CSS 布局:Flexbox
  • 文章目录
  • 站点概览
吴仙杰

吴仙杰

🔍 Ctrl+K / ⌘K

27 文章
9 分类
25 标签
邮箱 GitHub
  • 导入模块
  • if __name__ == '__main__'
© 2021-2025 吴仙杰 保留所有权利 All Rights Reserved
浙公网安备 33010302003726号 浙ICP备2021017187号-1
0%