由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教一个初级 python问题
相关主题
初级问题:Python怎么指代上一个命令的输出 (转载)请教一个基础C++问题
尚未完成定义的类怎么可以作变量类型? (转载)VS C++项目的Reference是干什么的?
python 高手看过来fork(): why both if and else are executed?
python的scope机制 非常垃圾GO似乎是目前最难反编译的代码了
how to deal with high dimension for loop?问个编程问题, 怎么计算referal
模板对象能不能作为成员变量使用这个reference 和*的区别
那位再提醒我一下,reference的好处是?default Specifier是什么?
作为返回值得实参是用指针还是引用比较好?解释一下吧Re: C语言的前途
相关话题的讨论汇总
话题: global话题: 变量话题: def话题: print话题: 初级
进入Programming版参与讨论
1 (共1页)
T**S
发帖数: 319
1
程序如下:
a = 1
def f():
a = 3
def g():
global a
a += 1
return g
1)为什么这样会得到1:f(); print a;
而这样会得到2: x=f(); x(); print a;
为什么要用个中间变量?
2) 在g()中用了global所以变量a指的是最外面的,能不能指定上一层,即f()中的变量?
thanks.
b******n
发帖数: 592
2
First case, a is never touched
Second case,
x=f() assign g() to x
x() executes g()
then a = 2

【在 T**S 的大作中提到】
: 程序如下:
: a = 1
: def f():
: a = 3
: def g():
: global a
: a += 1
: return g
: 1)为什么这样会得到1:f(); print a;
: 而这样会得到2: x=f(); x(); print a;

w****i
发帖数: 964
3
in f() a refers to local variable
in g() a refers to global variable by the "global" key word
1 (共1页)
进入Programming版参与讨论
相关主题
解释一下吧Re: C语言的前途how to deal with high dimension for loop?
引用的几个基本问题,有点糊涂模板对象能不能作为成员变量使用
C语言的变量都一定要放在stack上吗?那位再提醒我一下,reference的好处是?
GCC 居然允许变量长度的向量作为返回值得实参是用指针还是引用比较好?
初级问题:Python怎么指代上一个命令的输出 (转载)请教一个基础C++问题
尚未完成定义的类怎么可以作变量类型? (转载)VS C++项目的Reference是干什么的?
python 高手看过来fork(): why both if and else are executed?
python的scope机制 非常垃圾GO似乎是目前最难反编译的代码了
相关话题的讨论汇总
话题: global话题: 变量话题: def话题: print话题: 初级