python参数传递问题
我在书上看说python都是按引用传递的。那么下面的例子中total的值己经被sum函数修改,那么不论是在函数内或者函数外都应该是30,为什么printtotal输出的是...
我在书上看说python都是按引用传递的。那么下面的例子中 total的值己经被sum函数修改,那么不论是在函数内或者函数外都应该是30,为什么 print total输出的是0
#!/usr/bin/python
total = 0; # This is global variable.
# 可写函数说明
def sum( arg1, arg2 ):
#返回2个参数的和."
total = arg1 + arg2; # total在这里是局部变量.
print "Inside the function local total : ", total
return total;
#调用sum函数
sum( 10, 20 );
print "Outside the function global total : ", total
以上实例输出结果:
Inside the function local total : 30
Outside the function global total : 0 展开
#!/usr/bin/python
total = 0; # This is global variable.
# 可写函数说明
def sum( arg1, arg2 ):
#返回2个参数的和."
total = arg1 + arg2; # total在这里是局部变量.
print "Inside the function local total : ", total
return total;
#调用sum函数
sum( 10, 20 );
print "Outside the function global total : ", total
以上实例输出结果:
Inside the function local total : 30
Outside the function global total : 0 展开
2个回答
展开全部
>>> total = 0
>>>
>>> def sum(arg1, arg2):
... total = arg1+arg2
... print 'inside the function total total : %s' % (total)
... return total
...
>>> sum(10, 20)
inside the function total total : 30
30
>>> print 'outside the function global total : %s' % (total)
outside the function global total : 0
>>>
>>> total = sum(10, 20)
inside the function total total : 30
>>> print 'outside the function global total : %s' % (total)
outside the function global total : 30
>>>
如果你想定义全局标量,应该是这样
>>> global total
>>> ......
注意:
>>> global total
>>> total
>>> def sum(arg1, arg2):
... total = ...
这三个total是完全不一样的三个变量
具体的区别请查看变量的作用范围,看完如果还不明白请继续提问。
2014-12-25
展开全部
全局变量定义错误,不是这样写的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询