• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

返回函数理解的非常的不好

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   

>>> x()   # x指向函数,因此可以调用,x和x()的区别是什么
call g()...

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

“在Python中,函数本身也是对象”,所用问题皆可用这句话来解释。
从上到下,按顺序:

  • print'callf()...' 仅仅是输出一个字符串'callf()...' 而已。。而已。。。加这句估计是想让看到输出了'call f()'就知道函数f()被调用了吧;
  • 函数本身就是一个对象,在对象中定义函数当然没问题了

  • g是函数自身,g()是函数调用
  • x = f() 调用f()并把f()的返回值赋给变量x
  • 同3, x是函数自身,x()是函数调用

使用道具 举报

发新帖

发布任务需求已有1031164位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!