成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python中的無窮大

lordharrd / 1817人閱讀

摘要:起步中整型不用擔(dān)心溢出,因?yàn)槔碚撋峡梢员硎緹o限大的整數(shù),直到把內(nèi)存擠爆。而無窮大在編程中常常需要的。比如,從一組數(shù)字中篩選出最小的數(shù)字。而這臨時變量一般要初始無窮大或者去第一個元素的值。

起步

python中整型不用擔(dān)心溢出,因?yàn)閜ython理論上可以表示無限大的整數(shù),直到把內(nèi)存擠爆。而無窮大在編程中常常需要的。比如,從一組數(shù)字中篩選出最小的數(shù)字。一般使用一個臨時變量用于存儲最后結(jié)果,變量去逐個比較和不斷地更新。而這臨時變量一般要初始無窮大或者去第一個元素的值。

正無窮大與負(fù)無窮大

python中并沒有特殊的語法來表示這些值,但是可以通過 float() 來創(chuàng)建它們:

>>> a = float("inf")
>>> b = float("-inf")
>>> a
inf
>>> b
-inf

為了測試這些值的存在,使用 math.isinf() 進(jìn)行判斷:

>>> import math
>>> math.isinf(a)
True
>>> math.isinf(b)
True
無窮大數(shù)在執(zhí)行數(shù)學(xué)計(jì)算的時候會傳播

這個就類似于數(shù)學(xué)中講述的,無窮大加上一個常數(shù)還是無窮大,無窮大與無窮大相等:

>>> a = float("inf")
>>> a + 45
inf
>>> a * 10
inf
>>> 10 / a
0.0
>>> float("inf") == float("inf")
True

無窮大在比較中比任何一個數(shù)都要大。

正無窮與負(fù)無窮相加的結(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)換

由于無窮的存在,因此字符串裝浮點(diǎn)數(shù)就存在的一些例外,并且這個轉(zhuǎn)換過程不會拋出異常。如果程序員們想改變 python 的默認(rèn)行為,可以使用 fpectl 模塊,但是它在標(biāo)準(zhǔn)的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)
總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41006.html

相關(guān)文章

  • Python標(biāo)準(zhǔn)庫---2、內(nèi)置函數(shù)(D-E-F)

    摘要:如果對象允許,該函數(shù)將刪除指定的屬性。返回值為表達(dá)式求值的結(jié)果。語法錯誤將作為異常被報告。該函數(shù)返回值是。例如數(shù)字類型描述了浮點(diǎn)類型。將轉(zhuǎn)換為控制的格式化表示。上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù) 上一篇文章:Python標(biāo)準(zhǔn)庫---1、內(nèi)置函數(shù)(A-B-C)下一篇文章:Python標(biāo)準(zhǔn)庫---3、內(nèi)置函數(shù)(G-H-I-J-K) 內(nèi)置函數(shù): showImg(https:/...

    Fourierr 評論0 收藏0
  • python 算法

    摘要:歸并排序的時間復(fù)雜度是下列哪個問題可以用貪心算法求解哈夫曼編碼問題遞歸算法和遞歸函數(shù)主分析法求時間復(fù)雜度當(dāng)這種情況意味著遞歸樹上各層結(jié)點(diǎn)的和從根結(jié)點(diǎn)開始依次遞增由于漸進(jìn)表示可以去掉低次項(xiàng)因此得。給出一個算法要求用最小的箱子數(shù)將物品全部裝入。 引言 定義:算法就是按照一定步驟解決問題的辦法 屬性: 正確:就是可以正確的求解問題 快速:就是時間復(fù)雜度要盡量小 有窮性:要在有限個步驟解決問...

    lentrue 評論0 收藏0
  • Making Your Python Codes More Functional

    摘要:但值得注意的是,因?yàn)榈髦械拿總€值只能使用一次,就會得到同樣語句不同結(jié)果的例子見上。生成器模擬考慮一個文件之中出現(xiàn)某個單詞例如的句子個數(shù),采用函數(shù)式的方法,顯然,如下模塊模塊提供了大量用于操作迭代器的函數(shù)。 本篇文章是基于Joel Grus: Learning Data Science Using Functional Python視頻的筆記。 常用的函數(shù) currying 在Pyt...

    gplane 評論0 收藏0
  • 深入理解取整、取余與取模問題

    摘要:區(qū)分取余與取模取余與與取模的本質(zhì)區(qū)別取余盡可能讓商,進(jìn)行向取整。理解鏈對任何一個大于的數(shù),對其進(jìn)行向取整和負(fù)無窮取整,取整方向是一致的。故取模等價于取余。 目錄 1. 取整問題 1.0向取整(C語言默認(rèn)的取整方案) 2.地板取整(向負(fù)無窮的方向取整) 3.天花板取整(向+無窮的方向取整) ...

    tracymac7 評論0 收藏0
  • Python數(shù)據(jù)結(jié)構(gòu)

    摘要:堆棧和隊(duì)列稱為線性數(shù)據(jù)結(jié)構(gòu),而圖形和樹是非線性數(shù)據(jù)結(jié)構(gòu)。在單次運(yùn)行期間,可能無法遍歷非線性數(shù)據(jù)結(jié)構(gòu)中的所有數(shù)據(jù)項(xiàng)。堆棧是根據(jù)概念插入和移除的對象的容器。將元素添加到堆棧時,它被稱為推送操作,而當(dāng)您刪除或刪除元素時,它被稱為彈出操作。 概述 ????數(shù)據(jù)結(jié)構(gòu)是組織數(shù)據(jù)的方式,以便能夠更好的存儲和獲取數(shù)據(jù)。數(shù)據(jù)結(jié)構(gòu)定義數(shù)據(jù)之間的關(guān)系和對這些數(shù)據(jù)的操作方式。數(shù)據(jù)結(jié)構(gòu)屏蔽了數(shù)據(jù)存儲和操作的細(xì)節(jié)...

    fantix 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<