Chinaunix首页 | 论坛 | 博客
  • 博客访问: 420982
  • 博文数量: 77
  • 博客积分: 2303
  • 博客等级: 大尉
  • 技术积分: 808
  • 用 户 组: 普通用户
  • 注册时间: 2004-11-30 09:15
文章存档

2015年(1)

2013年(3)

2012年(2)

2011年(46)

2009年(4)

2008年(2)

2005年(12)

2004年(7)

我的朋友

分类: Python/Ruby

2015-01-23 09:55:15


有全局变量时的运算赋值:


没有全局变量时运算赋值:


有全局变量时的直接赋值:


一句话:
  在python中,全局变量与函数内的局部变量完全没有关系。不过global关键字会使它们发生关系(把全局变量带入函数)。

在python的函数中有和全局同名的变量时,如果你有修改变量的值就会变成局部变量,在修改之前对该变量的引用自然就会出现没定义这样的错误了,如果确定要引用全局变量,并且要对它修改,必须加上global关键字。
网上还有个在赋值运算前有个print语句的例子,那解释更是瞎扯蛋。



其实函数中的变量和全局变量同名,只是一种巧合,只是一种假像,它们其实完全没关系!在没有同名全局变量的时候,你直接执行赋值运算,会报一样的错误。python不像c,java一样,变量在使用前不需要显示的声名,如果你非转不过弯来,可以认为python的变量在赋值时把声名和赋值这两件事一起做了,首先要赋一个初始值你才可以对变量进行运算,直接运算是不行的。
阅读(15327) | 评论(1) | 转发(0) |
0

上一篇:solaris11下安装oracle11g

下一篇:没有了

给主人留下些什么吧!~~

刘一痕2015-02-08 14:26:16

http://www.allsin.cn/index.php?r=python/index,很全面的互联网面试题网站,欢迎来访。