云计算开发学习笔记:Python3作用域

liftword4个月前 (01-12)技术文章20

对于变量作用域,变量的访问以 L(Local) –> E(Enclosing) –> G(Global) –>B(Built-in) 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找。

观察以下几个例子,均从内部函数输出变量 x:

1. 局部作用域

执行结果为 2,因为此时直接在函数 inner 内部找到了变量 x。

执行结果为 1,因为在内部函数 inner 中找不到变量 x,继续去局部外的局部——函数 outer 中找,这时找到了,输出 1。

3. 全局作用域

执行结果为 0,在局部(inner函数)、局部的局部(outer函数)都没找到变量 x,于是访问全局变量,此时找到了并输出。

4. 内建作用域

执行结果为 3,在局部(inner函数)、局部的局部(outer函数)以及全局变量中都没有找到变量x,于是访问内建变量,此时找到了并输出。

本文源自TechWeb.com.cn

相关文章

了解Python集合类型的特性和最佳用例:列表、元组、集合和字典

集合是 Python 编程的重要组成部分。它们允许您将多个值分组到一个变量中,从而更轻松地操作和组织数据。Python 提供了四种主要的集合类型,每种类型都针对特定用例而设计:列表、元组、集和字典。...

Python基础合集:Python简介

Python是什么Python是一种高层次、通用的编程语言,由Guido van Rossum于20世纪90年代初创建。它以简洁、易读和高效的设计哲学著称,使得编写代码变得更加容易和直观。2024年4...

一文说明python中的实例方法,类方法和静态方法作用和区别是啥?

我们都知道 ,python类中有三种常见的方法 ,分别是实例方法 ,类方法和静态方法 。那么这几个方法到底有什么作用 ? 它们之间有什么区别 ?该如何使用 ? 带着这些问题 ,下面我们就来了解下这三种...