小編給大家分享一下python表示無窮大的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出云縣免費做網(wǎng)站回饋大家。
float('inf') 表示正無窮
-float('inf') 或 float('-inf') 表示負無窮
其中,inf 均可以寫成 Inf
起步
python中整型不用擔心溢出,因為python理論上可以表示無限大的整數(shù),直到把內(nèi)存擠爆。而無窮大在編程中常常需要的。比如,從一組數(shù)字中篩選出最小的數(shù)字。一般使用一個臨時變量用于存儲最后結(jié)果,變量去逐個比較和不斷地更新。而這臨時變量一般要初始無窮大或者去第一個元素的值。
正無窮大與負無窮大
python中并沒有特殊的語法來表示這些值,但是可以通過 float() 來創(chuàng)建它們:
>>> a = float("inf") >>> b = float("-inf") >>> a inf >>> b -inf
為了測試這些值的存在,使用 math.isinf() 進行判斷:
>>> import math >>> math.isinf(a) True >>> math.isinf(b) True
推薦學(xué)習《python教程》
無窮大數(shù)在執(zhí)行數(shù)學(xué)計算的時候會傳播
這個就類似于數(shù)學(xué)中講述的,無窮大加上一個常數(shù)還是無窮大,無窮大與無窮大相等:
>>> a = float('inf') >>> a + 45 inf >>> a * 10 inf >>> 10 / a 0.0 >>> float("inf") == float("inf") True
無窮大在比較中比任何一個數(shù)都要大。
正無窮與負無窮相加的結(jié)果是什么
有些操作時未定義的并會返回一個 NaN 結(jié)果:
>>> a = float('inf') >>> a/a nan >>> b = float('-inf') >>> a + b nan
表示非數(shù)字的 NaN
nan 值在所有操作中也會傳播,并且不會產(chǎn)生異常:
>>> 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
更安全的類型轉(zhuǎn)換
由于無窮的存在,因此字符串裝浮點數(shù)就存在的一些例外,并且這個轉(zhuǎn)換過程不會拋出異常。如果程序員們想改變 python 的默認行為,可以使用 fpectl 模塊,但是它在標準的Python 構(gòu)建中并沒有被啟用,它是平臺相關(guān)的,并且針對的是專家級程序員。這里提供一個比較簡單的轉(zhuǎn)換,就是加一個 isdigit() 判斷:
def str2float(ss): if not ss.isdigit(): raise ValueError return float(ss) sss = "inf" a = str2float(sss)
看完了這篇文章,相信你對python表示無窮大的方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!