python 学习笔记之 全局变量和局部变量
来源:互联网 发布:二手跳蚤市场淘宝 编辑:程序博客网 时间:2024/05/16 09:13
最近开始学习python 了!
1 python 中使用在函数之外的变量均为全局变量
2 在函数内部使用的变量为局部变量。
之所以今天写关于变量的作用域的笔记,是因为本人在一个小程序中出了错,再次做些总结。
先看下面的程序:
#!/usr/bin
# Filename: func_global.py
def func():
global x
print 'x is', x
x = 5
print 'change x to', x
x = 100
func()
print 'the value of x is', x
该程序的运行结果是:
x is 100
changed x to 5
the value of x is 5
这个程序的理解是没有问题的,问题的关键在于当我把程序做稍许的改动就报错了。我是这样改的将定义函数def func() 改为def func(x)。将调用函数func()改为func(x)。报错的信息是:
name "x" is local and global
这句报错信息究竟是什么意思呢,很明显系统在告诉我们x 既是局部变量又是全局变量,这是矛盾的,所以就报错了。
仔细分析一下便可得知:
首先,在函数外部的变量为全局变量。
程序首先执行的是语句 x = 100(x 是全局变量)
当执行到调用函数func(x)这个语句时,此时,变量x 被传递到func()内部。此时函数内部global x 语句之外的 x 是作为局部变量的,与x 作为全局变量相矛盾了。
简而言之就是:当变量是全局变量的时候,就不要将其作为函数的实参,否则就会出错。
0 0
- python 学习笔记之 全局变量和局部变量
- Python学习之,全局变量和局部变量
- Python新手学习基础之函数-全局变量和局部变量
- Python新手学习基础之函数-全局变量和局部变量
- Python学习之函数(全局变量和局部变量)
- python学习之全局变量与局部变量
- JavaScript学习笔记: 局部变量和全局变量
- python全局变量和局部变量
- Python全局变量和局部变量
- python局部变量和全局变量
- python全局变量和局部变量
- python全局变量和局部变量
- python局部变量和全局变量
- Python全局变量和局部变量
- Python学习笔记(2)-局部变量与全局变量
- c语言学习笔记之全局变量与局部变量
- JavaScript学习笔记11-全局变量和局部变量
- python学习总结---全局变量、局部变量
- 启动rabbitmq报错:/usr/lib/rabbitmq/bin/rabbitmq-server: line 80: /var/lib/rabbitmq/mnesia/rabbit@node2.p
- iPhone编程的一些小技巧
- android笔记
- 树结构(一) - 二叉树查找树的原理与实现
- 数据结构(C实现)------- 图的邻接矩阵表示
- python 学习笔记之 全局变量和局部变量
- windows svn install service
- 几种常见加密算法初窥及如何选用加密算法(AES,DES,3DES)
- LDAP
- 开源日志库<log4cplus+VS2008使用>整理
- 微信内的webview中获取微信用户的基本信息(open_id)
- Android 调试工具集【转】
- 关于dedecms的0day漏洞的解决方案(个人见解)
- ssh禁止root登入