def f(): print 'call f()...'#为什么要加这个语句,这个语句想让我们看到啥? 还有,这不是在建造一个函数吗,为什么没有return的返回值? def g():# 定义函数g: #为什么在函数发f内部再建一个函数,这依据的是什么? print 'call g()...' return g # 返回函数g: #为什么返回的是g,而不是g()?-------------------------------------------------------------------------问题都在注释里面-------------------------------------------------------------------------------------->>> x = f() # 调用f() ,为啥不是直接f(),还非得要一个x?call f()...>>> x <function g at 0x1037bf320>>>> x() # x指向函数,因此可以调用,x和x()的区别是什么call g()...
1 回答
已采纳
寻梦的男孩
TA贡献4条经验 获得超4个赞
“在Python中,函数本身也是对象”,所用问题皆可用这句话来解释。
从上到下,按顺序:
print 'call f()...' 仅仅是输出一个字符串'call f()...' 而已。。而已。。。加这句估计是想让看到输出了'call f()'就知道函数f()被调用了吧;
函数本身就是一个对象,在对象中定义函数当然没问题了
g是函数自身,g()是函数调用
x = f() 调用f()并把f()的返回值赋给变量x
同3, x是函数自身,x()是函数调用
添加回答
举报
0/150
提交
取消