鱼C论坛

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

第40課 擴展閱讀 程式碼有問題?

[复制链接]
发表于 2019-6-2 09:48:58 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 dd8556471 于 2019-6-2 09:51 编辑

import time
def timeslong(object):
    def __init__(self,func):
        self.f=func
    def __call__(self):
        start=time.clock()
        print("It's time starting !")
        self.f()
        print("It's time ending !")
        end=time.clock()
        return "It's used : %s ." % (end - start)
@timeslong
def f():
    y=0
    for i in range(10):
        y=y+i+1
        print(y)
    return y
print(f())

跑完以上程式碼, 出現 以下錯誤?
Traceback (most recent call last):
  File "C:\_python_workspace\FishC\FishC02\FishC05\test40_02.py", line 19, in <module>
    print(f())
TypeError: 'NoneType' object is not callable

可否 解答一下? 非常感謝

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-6-3 08:31:44 | 显示全部楼层
可有大大可以解答一下?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-6-3 09:26:12 | 显示全部楼层
dd8556471 发表于 2019-6-3 08:31
可有大大可以解答一下?

据资料介绍,
@timeslong
def f():

这个叫神马装饰器,装饰之后,f() 就不再是函数了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-16 04:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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