我試圖創建一個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