关于返回函数返回值的疑问
在这里开始卡了,好多疑问啊
def f():
print 'call f()...' # 定义函数g:
def g():
print 'call g()...' # 返回函数g:
return g
>>> x = f() #为什么要这样调用,而不可以直接f()?
call f()
>>> x #f()不是赋值给x吗?为什么直接x的是内存地址?
<function g at 0x00000000033FECF8>
>>> x() #为什么x()是直接执行g()
call g()
>>> f()() #为什么执行f()()跟x()效果不一样的?
call f()
call g()
>>> f() #为什么执行f()跟x = f()是不一样的?
call f()
<function g at 0x00000000033FEA58>
求指点,谢谢