python如何表示無窮大
float('inf') 表示正無窮
-float('inf') 或 float('-inf') 表示負無窮
其中,inf 均可以寫成 Inf
起步
python中整型不用擔心溢位,因為python理論上可以表示無限大的整數,直到把記憶體擠爆。而無窮大在程式設計中常常需要的。比如,從一組數字中篩選出最小的數字。一般使用一個臨時變數用於儲存最後結果,變數去逐個比較和不斷地更新。而這臨時變數一般要初始無窮大或者去第一個元素的值。
正無窮大與負無窮大
python中並沒有特殊的語法來表示這些值,但是可以透過 float() 來建立它們:
>>> a = float("inf") >>> b = float("-inf") >>> a inf >>> b -inf
為了測試這些值的存在,使用 math.isinf() 進行判斷:
>>> import math >>> math.isinf(a) True >>> math.isinf(b) True
推薦學習《》
無窮大數在執行數學計算的時候會傳播
這個就類似於數學中講述的,無窮大加上一個常數還是無窮大,無窮大與無窮大相等:
>>> a = float('inf') >>> a + 45 inf >>> a * 10 inf >>> 10 / a 0.0 >>> float("inf") == float("inf") True
無窮大在比較中比任何一個數都要大。
正無窮與負無窮相加的結果是什麼
有些操作時未定義的並會返回一個 NaN 結果:
>>> a = float('inf') >>> a/a nan >>> b = float('-inf') >>> a + b nan
表示非數字的 NaN
nan 值在所有操作中也會傳播,並且不會產生異常:
>>> c = float('nan') >>> c + 23 nan >>> c / 2 nan >>> c * 2 nan >>> math.sqrt(c) nan
使用 math.isnan() 可以判斷值是否是 NaN:
>>> math.isnan(c) True
nan 值的任何比較操作都是返回 False :
>>> float("nan") == float("nan") False >>> c > 3 False
更安全的型別轉換
由於無窮的存在,因此字串裝浮點數就存在的一些例外,並且這個轉換過程不會丟擲異常。如果程式設計師們想改變 python 的預設行為,可以使用 fpectl 模組,但是它在標準的Python 構建中並沒有被啟用,它是平臺相關的,並且針對的是專家級程式設計師。這裡提供一個比較簡單的轉換,就是加一個 isdigit() 判斷:
def str2float(ss): if not ss.isdigit(): raise ValueError return float(ss) sss = "inf" a = str2float(sss)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2768/viewspace-2835234/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python如何表示無窮小Python
- 關於ACM中的無窮大ACM
- Python如何實現窮舉搜尋?Python
- Python教程:Python如何實現窮舉搜尋?Python
- 程式設計中無窮大的量的使用技巧程式設計
- python如何表示次方Python
- 從0到1到無窮,vivo大規模機器學習實踐機器學習
- Python教程:空值、無窮值判斷之isna、isnull、isfinitePythonNull
- [譯] Ruby 2.6 增加無窮範圍
- 高數上 無窮小計算
- 『無為則無心』Python函式 — 34、lambda表示式Python函式
- 第七節 無窮小的比較
- 越是窮人,就越需要大資料大資料
- On The Infinite 論 無 窮(二) 作者:希爾伯特
- On The Infinite 論 無 窮(一) 作者:希爾伯特
- python if三元表示式如何使用Python
- Python 如何傳遞運算表示式Python
- 如何編寫python的正規表示式Python
- 怎樣解題|題5.3.21:計算無窮乘積
- 資料洩露層出不窮,擎天Enclave如何守住資料安全的“大門”
- SAP MIGO 發貨批次確定介面批次可用數量無窮大問題之對策Go
- Python中eval函式的表示式如何使用Python函式
- 無窮無盡!微軟警告另一個未修補的Windows Print Spooler RCE漏洞微軟Windows
- python--表示式(運算表示式)Python
- 《Valorant》IGN 評測 :極富深度、趣味無窮的射擊遊戲遊戲
- DxO PureRAW:發掘RAW影像的無窮潛力 mac/win版Mac
- Python - lambda 表示式Python
- Python Lambda 表示式Python
- 窮舉法解決0/1揹包問題——pythonPython
- Javascript是個好東西(廣大人民的智慧是無窮的):JavaScript
- 從無有 到無窮——演算法之道(讓你學不會演算法都難)演算法
- 想大儲存又想執行快,還想擺脫精緻窮? 宏旺半導體教你如何選SSD
- python如何讀取大檔案Python
- Python 如何處理大檔案Python
- Python——正規表示式Python
- Python 正規表示式Python
- Python:正規表示式Python
- python 中空NULL的表示PythonNull