函数局部变量与外部同名:OCD 2 安装与模块化编程示例

需积分: 50 24 下载量 93 浏览量 更新于2024-08-07 收藏 2.05MB PDF 举报
在"函数局部变量与外部变量同名 - OCD 2 简易安装使用说明"这篇文档中,主要讨论了Python编程中的一个重要概念,即函数内部的局部变量与外部变量的关系。作者强调了函数模块化编程的原则,即函数内部不应该直接访问外部的全局变量,而是应该通过参数来传递数据。这是遵循封装和信息隐藏原则的重要体现,有助于保持代码的清晰和模块间的独立性。 当一个函数内部定义了一个与外部全局变量同名的局部变量时,如示例中的`z`,在函数内部使用这个局部变量会优先执行,不会影响到外部的全局变量。如代码所示: ```python def func(x, z): z = x + y # 这里的z是局部变量,与全局变量z不同 print(z) x = 1 y = 2 func(1, 2) # 此时打印的是局部变量z的值,3 ``` 当试图在函数外部访问这个局部变量`z`时,如果没有显式地将其作为参数传递,就会抛出`NameError`,因为Python解释器找不到该变量。正确的做法是明确地将外部变量作为参数传递给函数: ```python x = 1 z = 2 func(x, z) # 正确地将外部变量z传递给函数,得到预期结果3 ``` 这一部分内容在"计算思维导论——程序设计思想与方法"这本书中可能会被用来阐述数据封装和作用域的概念,以及如何通过编程实践来理解和应用这些概念。在计算思维的课程中,教授者会强调理解计算机科学基础,如变量的作用域和传递,是培养计算思维的关键组成部分,因为这关乎到如何有效地利用计算机解决问题和思考问题的逻辑结构。本书的目标是让学生不仅掌握编程技巧,还能运用计算思维解决实际问题,无论他们是否来自计算机专业背景。