Python变量的作用范围
2018-03-24 19:52
260 查看
Python变量的作用范围
全局变量
在函数外部定义的,可以在该变量后面任何地方调用该变量,那么这个变量就是全局变量。如果不加显示声明,全局与局部变量同名时,全局变量会被隐藏,这和C++类似。局部变量
在代码段内部定义的变量,与C++一样的。全局变量与局部变量共存的情况
x = "global" def foo(): global x y = "local" x = x * 2 print(x) # global global print(y) # local foo()
x = 5 def foo(): x = 10 print("local x:", x) # local x: 10 foo() print("global x:", x) # global x: 5
非局部变量
非局部变量用于局部作用范围没有确定的内嵌函数中。这意味着这个变量不在局部和全局范围中。使用nolocal定义:
def outer(): x = "local" def inner(): nonlocal x x = "nonlocal" print("inner:", x) inner() print("outer:", x) outer()
输出:
inner: nonlocal outer: nonlocal
上面的代码意味着,定义了一个内嵌函数,同时在下面又要执行内嵌函数,但是不想使用全局的变量。
相关文章推荐
- Python变量作用范围实例分析
- Python轻松入门-15 变量的作用范围
- Python变量作用范围实例分析
- javascript 变量的作用范围
- 线程范围内共享变量的概念与作用
- 线程范围内共享变量的概念与作用
- 【Java多线程与并发库】5.线程范围内共享变量的概念与作用
- Python中的变量有作用域
- Lisp语言:变量以及变量的作用范围
- Java变量的作用范围
- 标识符的作用范围,变量的声明和定义,auto,register自动变量,代码作用域的静态变量
- php变量作用范围
- c#出错:当前上下文中不存在名称xxx,变量超出作用范围
- Beginning C# Objects从概念到代码——1.13 代码块和变量作用范围
- NO.5 线程范围内共享变量的概念与作用(二)
- C语言中变量的作用范围
- MySQL中Global、Session和Both(Global & Session)范围的Dynamic及Not Dynamic类型的变量的作用范围和设置方法
- Python中变量作用域问题——局部变量与全局变量
- shell export变量的作用范围
- ios 各种变量和作用范围