Python中的浮點數:分步指南
已發表: 2021-08-31程序員使用不同的數據類型(字符串、整數、複數、浮點數)來存儲值,具體取決於他們希望如何操作一個值。 例如,您可能想要運行數學運算,但如果您的數據類型是字符串,則會導致錯誤。 同樣,如果您使用十進制數作為輸入,則不能使用整數。
作為編程的原始元素,Python 允許程序員創建浮點對象。 Python 中的內置函數 float() 可讓您將整數或字符串等數據類型轉換為浮點數。
在本文中,我們將了解 Python 中的 float 是如何工作的,並通過示例探索不同的 float 方法。 我們還將研究如何使用 Python 舍入浮點數在舍入時包含其他參數,並了解如何生成 Python 隨機浮點數。 那麼,讓我們開始吧。
目錄
Python中的浮點數是什麼?
在計算機科學中,浮點數是一種以十進制格式表示分數或數字的數據類型。 與整數相比,它允許程序員更高程度的精度
在 Python 中,當輸入為任意指定值、字符串或數字時,我們使用 float() 方法返回浮點數據類型
句法
float(value) // 其中 value 是字符串或數字
如果要傳遞參數,它是可選的。 float() 的默認值為 0.0。 如果內置 float() 方法無法從字符串或數字返回浮點數,則會引發 ValueError。 如果您傳遞的整數超出 Python float() 範圍,它也會返回錯誤。
浮點數在編程中發揮著重要作用,尤其是在表示貨幣時。 它們在提供廣泛使用的圖形庫中的處理能力方面非常高效。 由於它可以容忍高達七位數的精度引起的捨入誤差,因此 float 可以幫助您編寫更精確且易於訪問的代碼。
從世界頂級大學在線學習數據科學課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
Python 中的浮點數是如何工作的? Float() 方法示例
以下是您可以在浮動上執行的不同功能:
1. 在 Python 中將整數轉換為浮點數
在 Python 中將整數轉換為浮點數很簡單。 這是一個例子
float_no = 浮動(15)
打印(float_no)
輸出:15.0。
2. 在 Python 中將字符串轉換為浮點數
Python 中的字符串被認為是字符的集合。 要使用 float() 方法將字符串轉換為浮點數,字符串必須以數字格式表示。 這是一個例子:
float_str = 浮動(“15”)
打印(float_str)
輸出:15.0。
如果將正 (+) 或負 (-) 符號添加到字符串,該方法會將字符串分別轉換為正浮點數或負浮點數
您是否希望將字符串轉換為正浮點數或負浮點數。 例如:
float_str = float(“-15”)
打印(float_str)
輸出:-15.0
浮點數也可以用科學計數法表示,其中 E 或 e 表示 10 的冪。例如,1.5e3 = 1.5 x 10 3 = 1500)。
這是一個例子:
打印(浮動(2e-002))
打印(浮動(“2e-002”))
打印(浮動('+1E3'))
輸出:
0.02
0.02
1000.0
您還可以在字符串中包含無效數字或無窮大值:NaN、無窮大或 inf。
例如:
打印(“真:”,浮動(真))
打印(“假:”,浮動(假))
打印(“南:”,浮動('南'))
打印(“無窮大:”,浮動('inf'))
輸出
真:1.0
錯誤:0.0
楠:楠
無窮大:inf
3. 使用 Float() 進行類型轉換
我們現在將使用 float() 來了解它如何處理字符串和整數。 在下面的程序中,我們將類型從整數轉換為浮點數:
s=100
打印(“s =”,s)
打印(“之前:”,類型)
s=浮點數
打印(“s =”,s)
打印(“之後:”,類型)
輸出:
s= 100
之前:<class 'int'>
s= 100.0
之後:<class 'float'>
如果輸入不是整數而是字符串,它仍會將其轉換為浮點數。 但是,如果字符串包含字符,則會導致 ValueError。
4. Python 中的捨入浮點數
如果您想要一個不太精確的浮點數的近似值,您可以將其四捨五入到您需要的小數點。 例如,將浮點數四捨五入到 5.1235,四捨五入到百分之一是 5.12。
在 Python 中,有一個內置函數 Round() 可以幫助您對浮點數進行舍入。 Python round float 返回一個根據您提供的輸入四捨五入的浮點數。 如果未指定小數位,Python 會將其設為 0,然後將其四捨五入為最接近的整數。
語法: round(float_num, num_of_decimals)
- 兩個參數 float_num 和 num_of_decimals 分別表示要捨入的浮點數和要捨入到的小數位。
- 正如我們上面提到的,num_of_decimals 是可選的。
- 如果 num_of_decimals 是負整數,Python round float 函數會將其四捨五入到小數點之前的數字。
讓我們通過一個例子來理解這一點:
float_num1 = 11.7
float_num2 = 11.4
float_num3 = 11.2345
float_num4 = 11.5678
float_num5= 123.45
打印(圓形(float_num1))
打印(圓形(float_num2))
打印(圓形(float_num3, 2))
打印(圓形(float_num4, 2))
打印(圓形(float_num5,-1))
輸出:
12
11
11.23
11.57
120.0
5. 生成 Python 隨機浮點數
您可以使用 Python 中的 random() 和 uniform() 方法在您指定的範圍內生成隨機浮點數。
假設我們的範圍是 0 到 1,我們想要生成 3 個隨機浮點數:
隨機導入
x = random.random()
對於範圍內的 i (3):
打印(隨機。隨機())
跑步
輸出:
0.54134241344332134
0.13142525490547756
0.75132452526261544
接下來,我們將使用 uniform() 方法指定一個範圍以生成隨機浮點數。 您的範圍可以是 1 到 10 或 32.5 到 52.5,依此類推。
語法:random.uniform(開始,停止)
- uniform() 函數中的兩個參數都是強制性的。 跳過任何人都會導致 TypeError uniform()。
- start 表示範圍的下限。 默認情況下,它假定該值為 0。
- stop 表示範圍內的上限或最後一個數字。
這是一個解釋 Python 隨機浮點生成的簡短程序:
隨機導入
打印(隨機。統一(10.5,75.5))
打印(隨機。統一(10, 100))
輸出:
27.23469913175497
81.77036292015993
以下是一些需要記住的要點:
- 如果 start 小於或等於 stop,則會生成一個隨機浮點數,即 <= 停止號且 >= 開始號。
- 如果 stop 大於或等於 start,則 Python 隨機浮點數將 >= 停止數和 <= 開始數。
這實質上意味著無論您將範圍指定為 1 到 10 還是 10 到 1,random.uniform() 函數都會將其視為相同。
學習 Python 以提升您在數據科學領域的職業發展
與 R、Matlab 和 Stata 等語言相比,Python 具有高度可擴展性,是最快的處理語言之一,因此在數據科學中發揮著不可或缺的作用。 它提供了以多種方式解決給定問題的靈活性和多功能性。 因此,如果您希望在數據科學領域建立職業生涯,強烈建議您通過學習適用於實際場景的編程語言的基本和高級概念來建立 Python 專業知識。 這是如何做:
享受升級學習體驗!
我們來自 IIIT 班加羅爾的數據科學執行 PG 計劃為期 12 個月,專為新生和中層管理人員設計。 學生將根據他們選擇的專業課程的課程,按需教授與行業相關的技能:數據科學通才、深度學習、自然語言處理、商業智能/數據分析、商業分析和數據工程。
更令人印象深刻的是 upGrad 的 40,000 名付費學習者分佈在 85 多個國家/地區。 它在全球網絡和點對點學習中的重要性是不可否認的。 當您與來自不同背景的同行互動時,您的知識庫將不可避免地擴大! 該課程提供超過 400 小時的學習內容和 20 多個現場課程和來自領先教師和行業領導者的專家會議,他們還提供 360 度的職業幫助。
Float 是 32 位,而 double 是 64 位。 它具有更大的尾數,並顯著降低了精度誤差。 兩種編程語言都有其獨特的優勢。 雖然 R 是統計學習的絕佳選擇,但 Python 更適合人工智能和機器學習以及數據分析。 它允許您開發大型應用程序。 數據科學在美國被公認為有前途的工作角色,據報導,職位空缺激增了 56%。 這也是收入最高的工作之一。 數據科學家的平均年薪為 120,092 美元。double 和 float 有什麼區別?
Python 比 R 更好嗎?
數據科學是一個很好的職業選擇嗎?