中国开发网: 论坛: 程序员情感CBD: 贴子 240613
haitao
这个例子很不妥当
--没有说明函数里的x=2是另外定义了一个局部变量也叫x--这是一般语言不允许的,看意思好像python可以这样作的
--还是用的就是参数x,因为参数x是传值参数,所以被修改后不会影响到函数外部--这是一般语言共同的

使用局部变量
例7.3 使用局部变量

#!/usr/bin/python
# Filename: func_local.py

def func(x):
print 'x is', x
x = 2
print 'Changed local x to', x

x = 50
func(x)
print 'x is still', x

(源文件:code/func_local.py)

输出
$ python func_local.py
x is 50
Changed local x to 2
x is still 50

它如何工作
在函数中,我们第一次使用x的 值 的时候,Python使用函数声明的形参的值。

接下来,我们把值2赋给x。x是函数的局部变量。所以,当我们在函数内改变x的值的时候,在主块中定义的x不受影响。

在最后一个print语句中,我们证明了主块中的x的值确实没有受到影响。
我的blog:http://szhaitao.blog.hexun.com & http://www.hoolee.com/user/haitao
--以上均为泛泛之谈--
不尽牛人滚滚来,无边硬伤纷纷现 人在江湖(出来的),哪能不挨刀(总归是要的)
网络对话,歧义纷生;你以为明白了对方的话,其实呢?

您所在的IP暂时不能使用低版本的QQ,请到:http://im.qq.com/下载安装最新版的QQ,感谢您对QQ的支持和使用

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录