摘要:起步中整型不用擔心溢出,因為理論上可以表示無限大的整數,直到把內存擠爆。而無窮大在編程中常常需要的。比如,從一組數字中篩選出最小的數字。而這臨時變量一般要初始無窮大或者去第一個元素的值。
起步
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)總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41006.html
摘要:如果對象允許,該函數將刪除指定的屬性。返回值為表達式求值的結果。語法錯誤將作為異常被報告。該函數返回值是。例如數字類型描述了浮點類型。將轉換為控制的格式化表示。上一篇文章標準庫內置函數下一篇文章標準庫內置函數 上一篇文章:Python標準庫---1、內置函數(A-B-C)下一篇文章:Python標準庫---3、內置函數(G-H-I-J-K) 內置函數: showImg(https:/...
摘要:但值得注意的是,因為迭代器中的每個值只能使用一次,就會得到同樣語句不同結果的例子見上。生成器模擬考慮一個文件之中出現某個單詞例如的句子個數,采用函數式的方法,顯然,如下模塊模塊提供了大量用于操作迭代器的函數。 本篇文章是基于Joel Grus: Learning Data Science Using Functional Python視頻的筆記。 常用的函數 currying 在Pyt...
摘要:區分取余與取模取余與與取模的本質區別取余盡可能讓商,進行向取整。理解鏈對任何一個大于的數,對其進行向取整和負無窮取整,取整方向是一致的。故取模等價于取余。 目錄 1. 取整問題 1.0向取整(C語言默認的取整方案) 2.地板取整(向負無窮的方向取整) 3.天花板取整(向+無窮的方向取整) ...
摘要:堆棧和隊列稱為線性數據結構,而圖形和樹是非線性數據結構。在單次運行期間,可能無法遍歷非線性數據結構中的所有數據項。堆棧是根據概念插入和移除的對象的容器。將元素添加到堆棧時,它被稱為推送操作,而當您刪除或刪除元素時,它被稱為彈出操作。 概述 ????數據結構是組織數據的方式,以便能夠更好的存儲和獲取數據。數據結構定義數據之間的關系和對這些數據的操作方式。數據結構屏蔽了數據存儲和操作的細節...
閱讀 3349·2021-09-30 09:47
閱讀 2732·2021-08-18 10:22
閱讀 2518·2021-08-16 10:49
閱讀 2884·2019-08-30 15:53
閱讀 2732·2019-08-29 16:14
閱讀 3185·2019-08-28 18:18
閱讀 3229·2019-08-26 13:21
閱讀 787·2019-08-26 12:02