高级函数
在学习高阶函数的时候第一行代码运行就报错,请问大神们这是啥原因哈,万分感谢!学习的帖子:
https://fishc.com.cn/thread-209319-1-1.html
代码及报错
@cache
def factorial(n):
return n * factorial(n-1) if n else 1
Traceback (most recent call last):
File "D:/Program Files/Python37/test/1105 高阶函数01.py", line 1, in <module>
@cache
NameError: name 'cache' is not defined 得写@functools.cache tommyyu 发表于 2022-11-5 14:43
得写@functools.cache
是这样吗
@functools.cache
@cache
def factorial(n):
return n * factorial(n-1) if n else 1
还是报错
Traceback (most recent call last):
File "D:\Program Files\Python37\test\1105 高阶函数01.py", line 1, in <module>
@functools.cache
NameError: name 'functools' is not defined
{:10_269:}
lymbwx 发表于 2022-11-5 14:47
是这样吗
{:10_277:}这不得先引入库么import functools
@functools.cache
def factorial(n):
return n * facorial(n-1) if n else 1 lymbwx 发表于 2022-11-5 14:47
是这样吗
还有,这个 cache 是 python 3.9 才加的 tommyyu 发表于 2022-11-5 15:01
这不得先引入库么
好像还是不行 lymbwx 发表于 2022-11-7 11:20
好像还是不行
能把报错信息发一下么 tommyyu 发表于 2022-11-7 11:23
能把报错信息发一下么
这就是当时的报错信息
Traceback (most recent call last):
File "D:/Program Files/Python37/test/1105 高阶函数01.py", line 1, in <module>
@cache
NameError: name 'cache' is not defined lymbwx 发表于 2022-11-8 23:49
这就是当时的报错信息
Traceback (most recent call last):
这个代码要求python是多少版本的呢?
你的python是多少版本的呢?
File "D:/Program Files/Python37/test/1105 高阶函数01.py", line 1, in <module>
本帖最后由 tommyyu 于 2022-11-9 12:08 编辑
lymbwx 发表于 2022-11-8 23:49
这就是当时的报错信息
Traceback (most recent call last):
1.这个是Python 3.9加入的,python 3.7没有。
2.要写@functools.cache,不能写@cache tommyyu 发表于 2022-11-9 07:15
1.这个是Python 3.9加入的,python 3.7没有。
2.要写@functools.cache,不能写@cache
好的,我再试试
页:
[1]