鱼C论坛

 找回密码
 立即注册
查看: 2044|回复: 2

[已解决]一个return的小疑惑

[复制链接]
发表于 2016-2-23 13:25:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import time as t
def timeslong(fun):
    def call():
        print('begining')
        start = t.clock()
        fun()
        end = t.clock()
        print('\nend')
        return '总共持续了%s'% (end - start)                            #有返回
    return call

@timeslong
def fun():
    for i in range(10):
        print(i,end='')
print(fun())
---------------------------
begining
0123456789
end
总共持续了0.03295292309236123
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

import time as t
def timeslong():
    def call():
        print('begining')
        start = t.clock()
        def fun():
            for i in range(10):
                print(i,end='')
        fun()
        end = t.clock()
        print('\nend')
        return '总共持续了%s'% (end - start)                              #无返回
    return call()
timeslong()
-------------------------------------------
>>>
begining
0123456789
end
=================================
为什么第一种return可以打印出来,而第二种不能打印,是修饰符特定的么?
最佳答案
2016-2-23 14:03:45
Lnan95 发表于 2016-2-23 13:46
额 我试的都有返回啊

>>> timeslong()
begining
0123456789
end
'总共持续了0.061665571960937256'
===================================
要在shell中在输入timeslong,才有用。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-2-23 13:46:09 | 显示全部楼层
额 我试的都有返回啊 360截图20160223134528353.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-2-23 14:03:45 | 显示全部楼层    本楼为最佳答案   
Lnan95 发表于 2016-2-23 13:46
额 我试的都有返回啊

>>> timeslong()
begining
0123456789
end
'总共持续了0.061665571960937256'
===================================
要在shell中在输入timeslong,才有用。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-19 18:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表