新聞中心
float('inf') 表示正無窮

創(chuàng)新互聯(lián)是專業(yè)的貴州網(wǎng)站建設(shè)公司,貴州接單;提供成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行貴州網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
-float('inf') 或 float('-inf') 表示負(fù)無窮
其中,inf 均可以寫成 Inf
起步
python中整型不用擔(dān)心溢出,因?yàn)閜ython理論上可以表示大的整數(shù),直到把內(nèi)存擠爆。而無窮大在編程中常常需要的。比如,從一組數(shù)字中篩選出最小的數(shù)字。一般使用一個(gè)臨時(shí)變量用于存儲(chǔ)最后結(jié)果,變量去逐個(gè)比較和不斷地更新。而這臨時(shí)變量一般要初始無窮大或者去第一個(gè)元素的值。
正無窮大與負(fù)無窮大
python中并沒有特殊的語法來表示這些值,但是可以通過 float() 來創(chuàng)建它們:
>>> a = float("inf")
>>> b = float("-inf")
>>> a
inf
>>> b
-inf
為了測(cè)試這些值的存在,使用 math.isinf() 進(jìn)行判斷:
>>> import math >>> math.isinf(a) True >>> math.isinf(b) True
推薦學(xué)習(xí)《python教程》
無窮大數(shù)在執(zhí)行數(shù)學(xué)計(jì)算的時(shí)候會(huì)傳播
這個(gè)就類似于數(shù)學(xué)中講述的,無窮大加上一個(gè)常數(shù)還是無窮大,無窮大與無窮大相等:
>>> a = float('inf')
>>> a + 45
inf
>>> a * 10
inf
>>> 10 / a
0.0
>>> float("inf") == float("inf")
True
無窮大在比較中比任何一個(gè)數(shù)都要大。
正無窮與負(fù)無窮相加的結(jié)果是什么
有些操作時(shí)未定義的并會(huì)返回一個(gè) NaN 結(jié)果:
>>> a = float('inf')
>>> a/a
nan
>>> b = float('-inf')
>>> a + b
nan
表示非數(shù)字的 NaN
nan 值在所有操作中也會(huì)傳播,并且不會(huì)產(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)換
由于無窮的存在,因此字符串裝浮點(diǎn)數(shù)就存在的一些例外,并且這個(gè)轉(zhuǎn)換過程不會(huì)拋出異常。如果程序員們想改變 python 的默認(rèn)行為,可以使用 fpectl 模塊,但是它在標(biāo)準(zhǔn)的Python 構(gòu)建中并沒有被啟用,它是平臺(tái)相關(guān)的,并且針對(duì)的是專家級(jí)程序員。這里提供一個(gè)比較簡(jiǎn)單的轉(zhuǎn)換,就是加一個(gè) isdigit() 判斷:
def str2float(ss): if not ss.isdigit(): raise ValueError return float(ss) sss = "inf" a = str2float(sss)
文章標(biāo)題:創(chuàng)新互聯(lián)Python教程:python如何表示無窮大
文章位置:http://www.5511xx.com/article/dhodhpg.html


咨詢
建站咨詢
