Python 中的变量作用域
通常,在块中定义的变量仅在该块中可用。在街区外无法到达。这样的变量称为局部变量。形式参数标识符也表现为局部变量。
下面的例子将强调这一点。试图打印其作用域之外的局部变量将引发NameError
异常。
Example: Local Variable
这里,name
是greet()
函数的局部变量,不能在函数外部访问。
Example: Local Variable
任何存在于任何函数块之外的变量称为全局变量。它的值可以从任何函数内部访问。在下面的例子中,name
变量在函数定义之前被初始化。 因此,它是一个全局变量。
Example: Global Variable
现在,您可以访问全局变量name
,因为它是由函数定义的。
但是,如果我们在函数内部为全局声明的变量赋值,则会在函数的命名空间中创建一个新的局部变量。此赋值不会改变全局变量的值。例如:
Example: Local and Global Variables
现在,改变函数内部全局变量name
的值不会影响其全局值。
如果您需要从函数内部访问和更改全局变量的值,该权限由global
关键字授予。
Example: Access Global Variables
上面将在 Python Shell中显示以下输出。
也可以同时使用同名的全局变量和局部变量。内置函数globals()
返回所有全局变量及其各自值的字典对象。 使用变量的名称作为关键字,可以访问和修改其值。
Example: Global Variables
上述代码的结果显示了具有相同名称的全局变量和局部变量之间的冲突以及如何解决该冲突。
更多信息,请访问 Python 中的全局和局部。
本站发布的内容若侵犯到您的权益,请邮件联系站长删除,我们将及时处理!
从您进入本站开始,已表示您已同意接受本站【免责声明】中的一切条款!
本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行研究。
本站资源仅供学习和交流使用,版权归原作者所有,请勿商业运营、违法使用和传播!请在下载后24小时之内自觉删除。
若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,使用者自行承担,概与本站无关。