Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1627156
  • 博文数量: 126
  • 博客积分: 1541
  • 博客等级: 上尉
  • 技术积分: 1914
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-20 11:14
文章分类

全部博文(126)

文章存档

2014年(21)

2013年(42)

2012年(63)

分类: Python/Ruby

2014-06-16 09:45:57

def a():                                                                                                                                                                               
#    global x
#    print "*****x is:%d"%x
    x=10
    print "$$$$$$$x is:%d"%x
x=50
a()
print "&&&&&&&x is :%d"%x


btc@ubuntu:~/Downloads$ python g.py 
$$$$$$$x is:10
&&&&&&&x is :50

def a():                                                                                                                                                                               
#    global x
    print "*****x is:%d"%x
    x=10
    print "$$$$$$$x is:%d"%x
x=50
a()
print "&&&&&&&x is :%d"%x

Traceback (most recent call last):
  File "g.py", line 7, in
    a()
  File "g.py", line 3, in a
    print "*****x is:%d"%x
UnboundLocalError: local variable 'x' referenced before assignment


def a():                                                                                                                                                                               
    global x
    print "*****x is:%d"%x
    x=10
    print "$$$$$$$x is:%d"%x
x=50
a()
print "&&&&&&&x is :%d"%x

btc@ubuntu:~/Downloads$ python g.py 
*****x is:50
$$$$$$$x is:10
&&&&&&&x is :10


函数中引用的变量默认的是局部变量 局部变量可以跟全局变量名字相同 如果在局部变量前边加global 就自动引用全局的 

阅读(1213) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~