【发布时间】:2019-02-05 02:50:56
【问题描述】:
我正在尝试返回一个函数,但它不起作用:
def to_power(x): # x = 3
def calc_power(num): # num = 2
return num**x # 2**3 = 8
return calc_power()
cube = to_power(3)
print(cube(5))
我的代码给了我这个错误:
TypeError: calc_power() 缺少 1 个必需的位置参数:'num'
但是,我很确定我确实给出了一个论点:
cube = to_power(3)
print(cube(5)) # arg = 5
【问题讨论】:
-
你为什么要返回一个函数?为什么不直接在 to_power 函数中进行计算?
-
因为我正在学习 python,我想了解当其他函数返回函数时函数是如何工作的……顺便说一句,我现在明白了……
-
我建议在深入研究之前学习函数调用的基础知识(即签名为
def func(x):...的函数有一个必需的位置参数)。
标签: python python-3.x