Python3基础学习笔记:模块搜索路径与__name__解析

需积分: 0 197 下载量 47 浏览量 更新于2024-08-09 收藏 1000KB PDF 举报
"这篇资源是关于Python编程的模块搜索路径和模块的`__name__`变量的详细解释,出自《spring技术内幕》的高清版,同时也包含了基础的Python3学习笔记,作者李松分享了Python3.x的基本语法和高级特性,帮助初学者快速入门。" 在Python编程中,模块搜索路径是解释器寻找模块的关键路径。当尝试导入一个名为`a`的模块时,解释器首先会在内建模块中查找,如果找不到,则会按照`sys.path`列表中的顺序依次搜索。`sys.path`包含了以下几类目录: 1. 当前程序所在目录 2. 标准库的安装目录 3. 操作系统环境变量`PYTHONPATH`指定的目录 `sys.path`是一个字符串列表,可以通过`append()`等列表操作方法进行修改,添加自定义的搜索路径。如果未设置环境变量`PYTHONPATH`,解释器会使用其内置的默认值。 模块的`__name__`变量是一个全局变量,用于获取模块的名称。在导入其他模块时,`__name__`将被设置为被导入模块的名称;而当模块作为脚本直接运行时,`__name__`的值会被设为` "__main__"`。这一点在编写模块时非常有用,可以通过检查`__name__`是否等于` "__main__"`来判断模块是作为脚本运行还是被导入。例如,下面的代码片段展示了如何根据`__name__`的值来决定执行不同的逻辑: ```python if __name__ == '__main__': print('This program is being run by itself') else: print('I am being imported into another module') ``` 如果这个脚本被直接运行,`__name__`将是` "__main__"`,所以会打印出"This program is being run by itself";而如果脚本被导入,`__name__`将不是` "__main__"`,因此会打印"I am being imported into another module"。 这篇学习笔记涵盖了Python3的基础和高级特性,包括基本数据类型、运算符、流程控制、函数、文件I/O、模块、异常处理以及面向对象编程。通过这些内容的学习,初学者能够掌握Python3的核心概念,并为进一步深入学习Python标准库和实践项目打下基础。笔记特别提到了Python3的简洁性和可读性,如高级数据结构、基于缩进的代码块组织、无需显式声明参数或变量等特性,使得Python成为一种高效和易读的编程语言。 此外,作者提醒读者,该笔记基于Python3.4.1版本,适用于在Linux-fedora20环境下进行代码测试,同时鼓励读者在学习过程中尝试实际项目,以提升技能。对于新手来说,选择学习Python3是明智的,因为Python3逐渐成为Python编程的主流版本。