详解python 局部变量与全局变量

简介: 详解python 局部变量与全局变量

本文将详细分析python的全局变量与局部变量,学过php的人都知道,php里面的全局变量是无法在function里面去使用的,只有超全局变量才可以,那么python会怎么处理全局变量与局部变量呢?下面我们来看一下:

其实python里面的全局变量,一般跟c语言里面是一样的

language = 'python'
def foo1():
    language = 'hello' # 这里是局部变量
    print(language ) # 打出hello,并且不会影响全局变量language (全局那个bar仍然是'python')
def foo2():
    print(language ) # 打出python # 因为没有声明局部变量所以python会搜索全局的language ,这个bar是全局的
def foo3():
    global language # 告诉python下面的bar是全局的
    language = 'hello' # 这里是全局变量
    print(language) # 打出hello,全局的language 已经改为hello不再是python了
#再打印一下language 看一下
print(language)#打印出hello,因为在foo3里全局变量已经被改变了

这也说明使用这种方式可以更改python的全局变量

但是这与php里面不同:

$name = 'php';
function foo1{
    echo $name; 
}
foo1 //将会得到一条警告:name变量不存在

所以各位同学在做python开发时一定要注意区分

相关文章
|
4月前
|
Python
Python中通过字符串访问与修改局部变量
Python中通过字符串访问与修改局部变量
64 0
|
6月前
|
Python
在Python中,全局变量和局部变量是两种不同类型的变量
【5月更文挑战第10天】Python中的全局变量在函数外部定义,作用域覆盖整个程序,生命周期从开始到结束。局部变量仅限于函数内部,生命周期从调用到返回。在函数内修改全局变量需用`global`关键字声明,否则会创建局部变量。
49 3
|
1月前
|
Java Go C++
【Python】函数的定义和调用、形参和实参、函数的返回值、多元赋值、全局和局部变量
【Python】函数的定义和调用、形参和实参、函数的返回值、多元赋值、全局和局部变量
21 0
|
3月前
|
存储 Python
Python 中的局部变量和全局变量
【8月更文挑战第29天】
42 0
|
4月前
|
Python
Python中的全局变量和局部变量是什么?
在 Python 中, 全局变量与局部变量在作用域及访问权限上有着明显区别。全局变量在整个程序范围内均可访问, 如定义 `global_var` 并在函数 `func_using_global()` 内使用。局部变量仅在其定义的函数内有效, 如 `func_creating_local()` 中的 `local_var`, 在函数外访问会引发 `NameError`。
|
4月前
|
Python
Python代码优化避免全局变量
【7月更文挑战第22天】
47 2
|
4月前
|
存储 Java Linux
Python----全局变量、内存管理、数据类型
Python----全局变量、内存管理、数据类型
|
5月前
|
Python
Python中有效地使用global和globals()来管理全局变量
Python中有效地使用global和globals()来管理全局变量
|
6月前
|
Python
【python】python全局变量怎么使用?
【python】python全局变量怎么使用?
37 1
|
6月前
|
Python
Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。
【5月更文挑战第11天】Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。在函数内部修改全局变量需用`global`关键字声明,否则会创建新局部变量。
144 2