我试图创建一个lambda函数,将全面传递到它的值,以小数位的数量也指定舍入lambda函数
我做了如下
c = lambda x: round(x, dp)
其中DP是已经指定
然而,试图调用这给了以下错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 1, in <lambda>
TypeError: 'int' object is not callable
当我输入
c(23.2323332345435)
我可能是半睡眠状态,但我敢肯定这是如何创建一个简单的lambda函数,我不明白为什么它不会工作。
我试着在括号包围无济于事
我很确定你使用/ overrode'round',这是表达式中除了lambda以外唯一可调用的。使用'print(type(round))'来查明。 –
为什么你首先使用'lambda',而不是只写'def c(x):...'? – chepner
此外,函数将在* *调用时使用全局'dp'的值,而不是函数被定义*时的'dp'值。 – chepner