我希望所有涉及一個或多個None變量的數學運算都返回None。如何將所有涉及None的python操作轉換爲None值?
例子:
a = None
b = 7
a*b
我想這最後一行返回無,但它不是給我一個錯誤:
TypeError: unsupported operand type(s) for *: 'NoneType' and 'int'
我明白爲什麼這個錯誤存在,所有這一切,但有任何方式強迫結果只是一個None
?
背景:我有幾個函數可以挖掘數據並返回一個值,名爲diff
。稍後,我將diff
乘以或添加到幾件事情上以獲取有意義的信息,但並非我所有的原始數據都包含有用的diff
,因此在這些情況下我將它設置爲返回diff = None
。當我繪製結果時,我希望能夠跳過這些點。當我繪圖時,Python似乎沒有任何問題跳過數組中的None
元素,所以我只想讓操作的結果爲None
。
使用浮動( 「南」),而不是'None' – donkopotamus
(HTTP [如何鏈屬性查找可能返回無?]://計算器。COM/Q/15280511); [也許是一種「monad in python」](http://stackoverflow.com/q/8507200), –
類似於@donkopotamus,你可以使用十進制模塊和'decimal.Decimal('NaN')'作爲'None' 。如果你想正確舍入十進制算術,這可能會更好。如果您的所有操作都使用「十進制」數字,它將以您想要的方式工作。 – tdelaney