Python 中的变量作用域2024 年 8 月 29 日 | 阅读 6 分钟 Python 语言中的变量充当各种数据值和数据结构的存储单元。当一个变量被赋值给任何 Python 对象时,它会指向该对象,因为它们是指向内存位置中特定对象的引用或指针。Python 编程语言不像 C/C++/JAVA 等其他语言那样是“静态类型的”。在显式声明变量的类型或初始值之前,不需要声明。当变量被赋予初始值时,即认为它已被创建。 代码 输出 This value is stored in the variable 'integer':- 45 This value is stored in the variable 'floating':- 1456.8 This value is stored in the variable 'string':- John 变量作用域Python 变量的作用域是指我们可以找到它,并在必要时访问它的区域。 全局变量和局部变量全局变量是在任何函数外部声明和定义的变量,不特定于任何函数。程序的任何部分都可以使用它们。 代码 输出 This is in the main function:- 2 This is in function 'f1()':- 2 This is in function 'f2()':- 2 假设一个变量在函数的局部作用域内定义,并且它与全局变量具有相同的名称。在这种情况下,它将仅显示在该特定函数内为变量提供的值,而不是全局作用域中赋给它的值。 代码 输出 This is defined inside the function. 在定义函数 func() 之前,变量 'a' 被赋值为字符串“This is assigned in the global scope.”。函数 func() 的 print(a) 语句将首先在其局部作用域中搜索变量 'a'。由于已经有一个变量 'a' 被赋值为不同的字符串,该函数将打印该变量的值,而不会查找全局作用域。在这种情况下,函数将不会使用全局作用域中的变量 'a' 的值。 下一个问题是,在函数 'func()' 中修改变量 'a' 的值会有什么结果?这是否也会影响全局变量 'a'?下面的代码片段用于测试这一点 代码 输出 Accessed in the local scope of function:- This is defined inside the function. Accessed in the global scope:- This is assigned in the global scope. 我们必须使用 Python 的 global 关键字才能使前面的程序起作用。只有在赋值或更改变量值时,我们才需要在函数内部使用 Python 的 global 关键字。显示和访问全局作用域中存在的变量不需要 global 关键字。为什么?由于在 func() 内部对变量 'a' 进行了赋值,Python“假定”我们想要访问局部变量,这就是为什么第一个 print 命令返回局部作用域中变量值的原因。如果在函数内部修改或赋值了一个变量,而没有将其定义为全局变量,那么它将被视为局部变量。下面的示例演示了如何使用 global 关键字指示 Python 解释器我们希望修改全局变量 代码 输出 Accessed in the local scope of function:- This is defined inside the function. Accessed in the global scope:- This is defined inside the function. 总结全局局部变量作用域。 代码 输出 global: in the global scope Inside func(): in the global scope global: in the global scope Inside local(): inside function local() global: in the global scope Inside global_() : changed inside function global_() global: changed inside function global_() Nonlocal 关键字在 Python 中,嵌套函数使用 Python 的 nonlocal 关键字进行处理。这个关键字的作用类似于 global 关键字,不同之处在于,在嵌套函数的情况下,它定义了一个变量来引用在外部封闭函数中赋给的变量,而不是全局变量。 代码 输出 Using the nonlocal keyword before changing a: Inside 'inner' function:- 14 Inside the 'outer' function:- 14 In the global scope:- 0 Not using the nonlocal keyword before changing a: Inside 'inner' function:- 14 Inside the 'outer' function:- 3 In the global scope:- 0 下一主题Python 中的字母 |
Python 简介在代码中引发异常时会返回 Traceback。如果我们第一次看到 Traceback 或不知道它传达的信息,那么它的输出可能会令人难以抗拒。但是,Traceback 在...
阅读 13 分钟
简介 Python 是一种健壮而灵活的编程语言,开发可维护且成功的代码需要清晰有效的函数。本文将探讨许多增强 Python 函数的技术,而无需使用繁琐或重复的代码。通过遵循这些清晰的编码实践,您可以制作出...
阅读 4 分钟
PYTHON 网络项目 网络项目是提升学生和专业人士在此竞争环境中的形象的绝佳途径。我们的管理层以高度的动力启动,旨在以最专业的方式帮助学生完成他们的学业任务。我们专注于超现代...
阅读 4 分钟
对于所有的 Python 开发者或任何其他语言的开发者来说,了解我们正在学习的编程语言的技巧和窍门总是很有趣的。众所周知,Python 是开发者中最受青睐的编程语言之一...
5 分钟阅读
在本教程中,我们将学习如何使用 Tkinter 和 Python 构建一个简单的记事本。记事本 GUI 包含文件和编辑等不同选项。所有功能,如保存文件、打开文档、编辑、复制和粘贴,都是可能的。Python,...
阅读 4 分钟
在软件开发人员、工程师和数据科学家中,Python 是一种备受欢迎的编程语言。其广泛的库和模块集合使得处理数据、图形和用户界面变得简单。PyQtGraph 就是一个广受欢迎的用于开发交互式实时视觉效果和可视化内容的包。您将学习...
阅读 3 分钟
回文数一直以来都对数学家和爱好者们有着特殊的魅力。这些数字正读和反读都一样,它们具有内在的对称性和美学上的愉悦感。在本文中,我们将探讨回文数的概念以及如何...
阅读 4 分钟
Python 初学者项目构想 学习任何编程语言或技术最好的方法是创建项目。目前,Python 是最受欢迎且最具挑战性的语言。我们可以通过为特定项目创建代码来测试自己。它...
7 分钟阅读
本教程将编写一个 Python 程序来合并具有相同键的两个字典。字典是 Python 数据结构,它以键值对的形式存储数据。字典中的每个键都应该是不可变的且唯一的。让我们了解上述问题陈述。问题...
阅读 2 分钟
虚假新闻的传播对现代民主国家构成严重问题。不准确的信息会影响人们的健康和福祉,尤其是在 COVID-19 疫情的艰难时期。虚假信息还会通过阻止人们参与公共生活来破坏公众对民主机构的信任...
阅读 15 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India