Python 作用域精通:构建 Python 领域架构

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

欢迎来到“Python 世界”——一个为有抱负的程序员和开发者量身打造的虚拟现实世界。在这个世界里,你作为创造者,拥有使用强大的 Python 语言塑造现实的能力。你的目标是在这个世界中构建迷人的功能,其中的每个元素都遵循你制定的规则和条例。然而,要掌控这种力量,需要理解 Python 的作用域——这个领域中现实的基本结构。你的任务是掌握局部和全局环境,在不同作用域内操作变量,并学习非局部交互的奥秘,从而成为 Python 世界的终极架构师。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/FunctionsGroup -.-> python/scope("Scope") subgraph Lab Skills python/scope -.-> lab-271588{{"Python 作用域精通:构建 Python 领域架构"}} end

探索局部作用域

在这一步中,你将通过创建一个定义并修改局部变量的简单函数,深入了解局部作用域的本质。你将学习局部变量如何在函数内部存在,以及它们如何与外部世界进行交互。

~/project/scope_explorer.py 中,定义一个创建局部变量并打印其值的函数:

## scope_explorer.py

def function_with_local_scope():
    local_message = '我被限制在局部作用域内'
    print(local_message)

function_with_local_scope()

运行你的脚本,查看局部变量的实际效果:

python scope_explorer.py

预期输出为:

我被限制在局部作用域内

这表明变量 local_message 存在于 function_with_local_scope 内部,在其外部无法访问。

理解全局作用域

在这一步中,我们将通过在任何函数外部定义一个变量来引入全局作用域的概念,该变量可以在脚本中的任何位置访问。

修改 ~/project/scope_explorer.py 以定义一个全局变量和一个打印该变量的函数:

## scope_explorer.py

global_message = '我可以自由地在全局作用域中漫游'

def access_global_variable():
    print(global_message)

access_global_variable()

再次运行脚本:

python scope_explorer.py

预期输出为:

我可以自由地在全局作用域中漫游

这表明变量 global_message 即使是在函数外部定义的,在函数内部也可以访问。

总结

在这个实验中,你踏上了在 Python 世界中的冒险之旅,去理解 Python 作用域这个微妙的概念。你学习了如何操作局部和全局变量,并掌握了在 Python 应用程序中管理作用域所需的基本技能。这些知识能让你编写更具结构性且无错误的代码,为构建更复杂、更有效的程序铺平道路。运用你所获得的能力,巩固你作为真正的 Python 魔法师的地位!

Python 作用域的美妙之处在于它能够通过分离变量的可访问性来逻辑地组织代码。这个实验旨在为你提供有指导的实践经验,从简单的局部作用域用例逐步搭建到全局和非局部交互的复杂性,帮助你理解相关知识。恭喜你完成了这个实验,并为你的 Python 开发者工具包增添了一个关键工具!