Python教程:理解global语句与函数作用域

需积分: 43 73 下载量 116 浏览量 更新于2024-08-09 收藏 785KB PDF 举报
"这篇文档是《简明Python教程》的一部分,介绍了如何在Python中使用`global`语句处理全局变量,以及在函数中定义和使用局部变量的概念。文档通过示例代码展示了局部变量和全局变量的区别,并解释了`global`语句的作用。" 在Python编程中,了解变量的作用域是非常重要的。作用域决定了变量在哪些代码区域内可见并可操作。在函数内部定义的变量被称为局部变量,它们只在该函数内部有效。在上述例子中,`func_local.py`展示了局部变量的概念: ```python def func(x): print('x is', x) x = 2 print('Changed local x to', x) x = 50 func(x) print('x is still', x) ``` 在这个例子中,`x`在函数`func`内部被重新赋值为2,但这不会影响到函数外部的`x`,因为函数内部的`x`是一个新的局部变量,与全局的`x`无关。因此,最后打印的`x`仍然是50。 如果需要在函数内部修改全局变量,就需要使用`global`语句。`global`语句告诉Python某个变量是全局的,而不是局部的。例如在`func_global.py`中: ```python def func(): global x print('x is', x) x = 2 print('Changed global x to', x) x = 50 func() print('Value of x is', x) ``` 在这个例子中,`global x`声明了`x`是一个全局变量,所以在函数`func`内部对`x`的修改会影响到全局的`x`。运行后,全局的`x`值将变为2。 使用`global`语句虽然能够修改全局变量,但通常不推荐这样做,因为这可能使代码变得难以理解和维护。理想情况下,函数应该尽可能自包含,避免依赖于外部的全局状态。如果需要在函数间共享数据,可以考虑使用返回值或者参数传递。 此外,教程还涵盖了Python的基本概念,如数、字符串、变量、运算符、控制流(if、while、for)、函数、模块、数据结构(列表、元组、字典)等。这些内容构成了Python编程的基础,对于初学者或有经验的程序员来说,都是深入理解Python的关键。