python浮點數比較
❶ python浮點數是什麼意思
浮點型(Float)
Python的浮點數就是數學中的小數,類似C語言中的double。
在運算中,整數與浮點數運算的結果是浮點數.
浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,比如,1.23x109和12.3x108是相等的。浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。
整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的而浮點數運算則可能會有四捨五入的誤差。
❷ 請問各位大神,python中浮點型(float)和整形(int)可以比較大小嗎
是可以的
有運行環境,動手操作印象可能會更深刻些
❸ python整型和浮點型哪個運算較快
差別很小可以忽略不記,而且python3計算的時候都默認轉成浮點的計算了
❹ python中float的比較方式
python比較浮點數相等,由於存在精度的關系,要用math模塊的isclose方法
兩數相差小於1e-9的話,則認為兩個浮點數相等。
math.isclose(a, b, rel_tol=1e-9)
>>> import math
>>> math.isclose(1.0, 1.0000000001)
True
精度可以修改:
>>> math.isclose(1.0, 1.0000000001, rel_tol=1e-10)
False
❺ python 從文件讀數並比較大小
file_a = open("a.txt")
file_b = open("b.txt", 'w')
comp_num = 10 # 此為固定數
num = file_a.readline()[: -1]
while num:
if float(num) > comp_num:
file_b.write(num + ' -1\n')
else:
file_b.write(num + ' 1\n')
num = filea.readline()[: -1]
file_a.close()
file_b.close()
❻ python怎麼判斷是不是浮點數
可以用instance函數
if isinstance(x, float):
print("是浮點數")
else:
print("不是浮點數")
❼ python eclipse+pydev 和idle 浮點數比較結果不一致,請高手解答,謝謝!
Python的文檔對id()函數的定義是:對某一個對象,返回其唯一不變的ID。
這個「唯一」是指同一個對象不會有兩個ID,但並不保證兩個對象的ID一定不相同。
在符合這個標準的前提下,python解釋器對id函數的具體實現是不可知的,有一定的隨機性也是有可能的。
❽ python怎麼輸出浮點數
python提供了三種浮點值:內置的float與complex類型,以及標准庫的decimal.Decimal類型。
float類型存放雙精度的浮點數,具體取值范圍依賴於構建python的c編譯器,由於精度受限,進行相等性比較不可靠。
如果需要高精度,可使用decimal模塊的decimal.Decimal數,這種類型可以准確的表示循環小數,但是處理速度較慢,適合於財政計算。
相關推薦:《Python基礎教程》
簡單函數比較floatS是否相等:
def equal_float(a,b):
return abs(a-b)<=sys.float_info.epsilon
其中sys.float_info.epsilon是機器可以區分出的兩個浮點數的最小區別
math模塊提供了許多可用於floatS的函數:
math.pi:常量3.1415926
math.pow(x,y):x的y次冪(浮點值)
……………….
使用math時先用import math導入該模塊
十進制數字
decimal模塊可以提供固定的十進制數,精度可以自己定。要創建Decimal,要先用import decimal導入模塊。
十進制數是用decimal.Decimal()函數創建的,該函數可以接受一個整數或字元串作為參數,但不能以浮點數作參數。如果用字元串作為參數,可以使用簡單的十進制數表示或指數表示,另外,decimal.Decimal的精確表述方式可以可靠的進行相等性比較。
(python3.1開始,使用decimal.Decimal from-float()函數將floats轉換為十進制數,以float型數作為參數,並返回與該float最為接近的decimal.Decimal)
❾ python小問題,求解
排除法,
a 顯然錯的,
C.布爾運算可以針對浮點數
D.非零都是True
所以是B
❿ Python3 & 基本數據類型(一)
Python提供的基本數據類型:數值(整型、浮點型、復數、布爾型等)、字元串、列表、元組、字典、集合等,將它們簡單分類如下:
通常被稱為整型,數值為正或者負,不帶小數點。
Python 3的整型可以當做Long類型使用,所以Python 3沒有
Python 2的Long類型。
Python 初始化的時候會自動建立一個小整數對象池,方便我們調用,避免後期重復生成!這是一個包含 262個指向整數對象的指針數組,范圍是 -5 到 256 。
Python的浮點數就是數學中的小數,類似C語言中的double。
浮點數 也就是小數,如 1.23 , 3.14 , -9.01 等等。但是對於很大或很小的浮點數,一般用科學計數法表示,把10用e替代, 1.23x10^9 就是 1.23e9 ,或者 12.3e8 , 0.000012 可以寫成1.2e-5 等等。
復數 由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示,復數的實部a和虛部b都是浮點。
對 與 錯 、 0 和 1 、 正 與 反 ,都是傳統意義上的布爾類型。
但在Python語言中,布爾類型只有兩個值, True 與 False 。請注意,是英文單詞的對與錯,並且首字母要大寫。
在Python中,0、0.0、-0.0、None、空字元串「」、空元組()、空列表[]、空字典{}都被當作False,還有自定義類型,如果實現了 nonzero ()或 len ()方法且方法返回0或False,則其實例也被當作False,其他對象均為True
布爾值還可以用and、or和not運算。
1)、and 運算是 與 運算,只有所有都為 True , and 運算的結果才是 True ;
2)、or 運算是 或 運算,只要其中有一個為 True , or 運算結果就是 True ;
3)、not 運算是 非 運算,它是單目運算符,把 True 變成 False,False 變成 True。
例如:
由以上案例可以看出,在做四則運算的時候,明顯把 True 看做 1 , False 看做 0 。
4)空值
空值不是布爾類型,只不過和布爾關系比較緊密。
空值是Python里一個特殊的值,用 None 表示(首字母大寫)。None不能理解為0,因為0是整數類型,而None是一個特殊的值。None也不是布爾類型,而是NoneType。
在某些特定的情況下,需要對數字的類型進行轉換。
Python提供了內置的數據類型轉換函數:
int(x) 將x轉換為一個整數。如果x是一個浮點數,則截取小數部分。
float(x) 將x轉換成一個浮點數。
complex(x) 將x轉換到一個復數,實數部分為 x,虛數部分為 0。
complex(x, y): 將 x 和 y 轉換到一個復數,實數部分為 x,虛數部分為 y。
Python字元串即可以用單引號也可以用雙引號括起來,甚至還可以用三引號括起來,字元串是以''或""括起來的任意文本。
例如:'abc',"xyz"等等。請注意,''或""本身只是一種表示方式,不是字元串的一部分,因此,字元串'abc'隻有a,b,c這3個字元。如果'本身也是一個字元,那就可以用""括起來,比如"I'm OK"包含的字元是I,',m,空格,O,K這6個字元。
字元串中包括特殊字元,可以用轉義字元來標識
但是字元串裡面如果有很多字元都需要轉義,就需要加很多,為了簡化,Python還允許用r''表示''內部的字元串默認不轉義
例如:
print r'\ \' #輸出:\ \
字元串的一些常見操作
切⽚是指對操作的對象截取其中⼀部分的操作
語法:序列[開始位置下標:結束位置下標:步⻓]
a. 不包含結束位置下標對應的數據, 正負整數均可;
b. 步⻓是選取間隔,正負整數均可,默認步⻓為1。
find():檢測某個⼦串是否包含在這個字元串中,如果在返回這個⼦串開始的位置下標,否則則返回-1。
index():檢測某個⼦串是否包含在這個字元串中,如果在返回這個⼦串開始的位置下標,否則則報異常。
rfind(): 和find()功能相同,但查找⽅向為右側開始。
rindex():和index()功能相同,但查找⽅向為右側開始。
count():返回某個⼦串在字元串中出現的次數。
replace():替換
split():按照指定字元分割字元串。
join():⽤⼀個字元或⼦串合並字元串,即是將多個字元串合並為⼀個新的字元串。
capitalize():將字元串第⼀個字元轉換成⼤寫。
title():將字元串每個單詞⾸字⺟轉換成⼤寫。
lower():將字元串中⼤寫轉⼩寫。
upper():將字元串中⼩寫轉⼤寫。
lstrip():刪除字元串左側空⽩字元。
rstrip():刪除字元串右側空⽩字元。
strip():刪除字元串兩側空⽩字元。
ljust():返回⼀個原字元串左對⻬,並使⽤指定字元(默認空格)填充⾄對應⻓度 的新字元串。
rjust():返回⼀個原字元串右對⻬,並使⽤指定字元(默認空格)填充⾄對應⻓度 的新字元串,語法和
ljust()相同。
center():返回⼀個原字元串居中對⻬,並使⽤指定字元(默認空格)填充⾄對應⻓度 的新字元串,語
法和ljust()相同。
所謂判斷即是判斷真假,返回的結果是布爾型數據類型:True 或 False。
startswith():檢查字元串是否是以指定⼦串開頭,是則返回 True,否則返回 False。如果設置開
始和結束位置下標,則在指定范圍內檢查。
endswith()::檢查字元串是否是以指定⼦串結尾,是則返回 True,否則返回 False。如果設置開
始和結束位置下標,則在指定范圍內檢查。
isalpha():如果字元串⾄少有⼀個字元並且所有字元都是字⺟則返回 True, 否則返回 False。
isdigit():如果字元串只包含數字則返回 True 否則返回 False。
isalnum():如果字元串⾄少有⼀個字元並且所有字元都是字⺟或數字則返 回 True,否則返回
False。