日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

淺談Python里面None True False之間的區別

瀏覽:30日期:2022-07-18 08:12:53

None雖然跟True False一樣都是布爾值。

雖然None不表示任何數據,但卻具有很重要的作用。

它和False之間的區別還是很大的!

例子:

>>> t = None>>> if t:... print('something')... else:... print('nothing')...nothing

淺談Python里面None True False之間的區別

區分None和False.使用is來操作!

>>> if t is None:... print('this is None!')... else:... print('this is ELSE!')...this is None!>>>

淺談Python里面None True False之間的區別

雖然是個小小的區別!但是在Python里面是重要的。你需要將None和不含任何值的空數據結構區分開。

0值的整型/浮點型,空字符串(‘ ’),空列表([]),空元組({}),空集合(set())都是等價于False,但是不等于None。

現在,寫一個函數:

>>> def oj(t):... if t is None:... print('this is None')... elif t:... print('this is True')... else:... print('this is False')...

淺談Python里面None True False之間的區別

進行數據測驗:

>>> oj(None)this is None>>> oj(True)this is True>>> oj(False)this is False>>> oj(0)this is False>>> oj(0.0)this is False>>> oj([])this is False>>> oj(())this is False>>> oj({})this is False

淺談Python里面None True False之間的區別

以上說明,None,False,True還是有很大不同的~

補充知識:python '0.3 == 3 * 0.1' 為False的原因

一.引入

如果你在你的解釋器中輸入以下第一行代碼:

>>> 0.3 == 3 * 0.1

False

你會發現,輸出為False。

對于CS小白而言,對此表示費解。

因此我查了相關的資料,進行了一下總結。

二.浮點算法的問題和局限

1.計算機硬件對于浮點數的處理方式

首先,我們必須明白一件事情。浮點數在計算機硬件中表示為基數2(二進制)的分數。

例如:

0.125(10) == 1/10 + 2/100 + 5/1000

0.001(2) == 0/2 + 0/4 + 0/8

這兩個分數具有相同的值,唯一的實際區別是,第一個分數以10為基數的分數表示,第二個分數以2為基數。當我們輸入0.125時,計算機硬件會以第二種方式表示,而不是第一種。

但是不幸的是,大多數十進制分數不能完全表示為二進制分數。

結果是,通常我們輸入的十進制浮點數僅由計算機中實際存儲的二進制浮點數

近似。但是在十進制不能完全表示為二進制分數的情況下,無論多么近似,終究不是確切值。

2.例子:對于0.1的處理

例如0.1(10),無論我們愿意使用多少個2位數字,十進制值0.1都不能精確表示為2進制小數,即以2為底的1/10是無限重復的分數。

0.1(10) == 0.0001100110011001100110011001100110011001100110011...(2)

當我們讓它停在某個有限的位數,就可以得出一個近似值。

因為Python浮點數可使用 53位精度 ,

因此輸入十進制數時計算機內部存儲的值0.1是

0.00011001100110011001100110011001100110011001100110011010(2)

這個值接近但是不等于1/10.

這也是造成print(0.3 == 3 * 0.1)輸出為False的原因。

如果要強制使用python輸出計算機內保存的0.1的真實十進制值,應該為

>>> 0.1

0.1000000000000000055511151231257827021181583404541015625

由于這一串數字實在太長了,所以Python通過顯示舍入的值來保持數字的可管理性。所以實際上我們看到是:

>>> 0.1

0.1

但是我們要明白,機器中的值不完全是1/10,這只是舍入了真實機器值的顯示。

3.一點有趣的東西

上面我們提到了Python通過顯示舍入的值來保持數字的可管理性,我們看到的只是舍入了真實機器值的顯示。通過下面的例子,我們就可以更加清楚這一事實。

當我們用python寫下下面的代碼時,就會發現這個神奇的現象。

這本質上是二進制浮點數:這不是Python中的bug,也不是代碼中的bug。在支持硬件浮點算術的所有語言中,都會看到同一種東西(盡管某些語言在默認情況下或在所有輸出模式下可能不會顯示差異)。

1)0.1+0.2

>>> 0.1 + 0.2

0.30000000000000004

2)round(2.675, 2)

i)round( x [, n] )的用法

作用: 返回浮點數x的四舍五入值。

參數:

x ? 數值/數值表達式。

n ? 要保留的小數位數,可以省略。若省略,n默認為0,即四舍五入到整數。

ii)round( 2.675, 2)

按照我們的邏輯來看,輸入round( 2.675, 2 ),輸出應該為2.68。但是實際上是:

>>> round(2.675, 2)

2.67

三.表示錯誤(選讀)

在這里我們詳細說明“ 0.1”示例,并說明我們如何自己對此類情況進行準確的分析。如果你不想深究其背后的原因,下面的可以忽略。

1.表示錯誤的概念、影響和原因

(1)概念

表示錯誤是指某些(在實際中為大多數)小數部分不能完全表示為二進制(基數為2)分數。

(2)影響

使得Python(或Perl,C,C ++,Java,Fortran和其他許多語言)經常不顯示我們所期望的確切十進制數字。

(3)原因

如今,幾乎所有機器都使用IEEE-754浮點算法,并且幾乎所有平臺都將Python浮點數映射到IEEE-754“雙精度”。754個double包含53位精度,因此在輸入時,計算機會努力將浮點數轉換為J / 2 ** N形式的最接近分數, 其中J是一個正好包含53位的整數。

2.'0.1'的具體分析

轉化目標:1 / 10 ~= J / (2 ** N)

所以:J ~= 2 ** N / 10

1)求解N

因為J是一個正好包含53位的整數(但是實際上最后我們用的是J的近似值( >=2 ** 52 and < 2 ** 53)是通過N計算出來的),并且N是一個整數,所以我們可以得到N的最佳值是56

>>> 2**524503599627370496>>> 2**539007199254740992>>> 2**56/107205759403792793

2)求解我們要用的J的近似值

我們通過N來求解實際的J,我們實際上用的J其實是(2**N /10)四舍五入之后的值。

i)divmod(a, b)

功能: 接收兩個數字類型(非復數)參數,返回一個包含商和余數的元組(a // b, a % b)。

參數:

a ? 被除數

b ? 除數

ii)求解J近似值

>>> q, r = divmod(2**56, 10)>>> r6

因為余數為6>5,所以我們用的J的近似值是

>>> q+1

7205759403792794

3)求解'0.1'的近似值

因此,在754倍精度中,最接近1/10的最佳近似值是

7205759403792794 / 72057594037927936

【注】由于我們四舍五入,因此實際上比1/10大一點;如果我們不進行四舍五入,則商將小于1/10。但是在任何情況下都不能完全是 1/10!

4)獲取計算機存儲值

通過上面的分析,我們可以看到計算機永遠不會“看到” 1/10:它看到的是上面給出的精確分數,它可以得到的最佳754倍近似值(即J的近似值)

>>> .1 * 2**56

7205759403792794.0

如果我們將該分數乘以10 ** 30,我們可以看到其30個最高有效十進制數字的(截斷)值:

>>> 7205759403792794 * 10**30 // 2**56

100000000000000005551115123125L

在Python 2.7和Python 3.1之前的版本中,Python將該值四舍五入為17個有效數字,即為’0.10000000000000001’。

在最新版本中,Python會基于最短的十進制分數顯示一個值,該值會正確舍入為真實的二進制值,并僅得出’0.1’。

以上這篇淺談Python里面None True False之間的區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91欧美极品| 中文欧美日韩| 日本一区中文字幕| 石原莉奈在线亚洲三区| 日韩精品一级| 久久xxxx| 日韩二区三区在线观看| 国产日韩一区二区三免费高清| 国产视频一区二区在线播放| 欧美xxxx性| 国产成人1区| 成人羞羞在线观看网站| 不卡中文字幕| 免费在线观看精品| 91精品国产自产观看在线| 欧美久久精品| а√天堂8资源中文在线| 四虎4545www国产精品 | 精品国产一区二区三区性色av| 国产剧情一区二区在线观看| 欧美精品91| 成人在线超碰| 亚洲免费黄色| 亚洲精品1区2区| 欧美亚洲自偷自偷| 国产精品伦理久久久久久| 精品一区二区三区的国产在线观看| 精品国产美女a久久9999| 欧洲激情综合| 日本少妇精品亚洲第一区| 久久亚洲精品中文字幕| 超碰在线99| 亚洲免费影院| 美女在线视频一区| 国产精品99免费看| 日本视频一区二区| se01亚洲视频 | 精品视频国内| 黄色亚洲免费| 国产精品一区二区av日韩在线| 97精品国产福利一区二区三区| 夜夜精品视频| 美女精品久久| 国产精品三上| 精品精品99| 视频在线观看91| 国产精品分类| 99亚洲视频| 国产成人77亚洲精品www| 久久亚洲欧洲| 日韩视频网站在线观看| 国产精品人人爽人人做我的可爱| 久久成人高清| 久久99伊人| 日韩成人三级| 久久国内精品自在自线400部| 91精品综合| 另类欧美日韩国产在线| 久久国产精品久久w女人spa| 欧美韩日一区| 日本午夜精品| 2023国产精品久久久精品双| 国产精品www994| 蜜桃视频在线观看一区二区| 综合日韩av| 国产精品久久久免费| 视频小说一区二区| 国产精品一区二区三区www| 亚洲一区二区三区高清| 电影天堂国产精品| 老色鬼精品视频在线观看播放| 亚洲一区中文| 成人日韩在线观看| 国产欧美久久一区二区三区| 亚洲欧美日韩精品一区二区| 午夜久久中文| 美女久久精品| 日本电影久久久| 视频在线观看91| 狠狠久久婷婷| 99久久婷婷| 精品国产一区二区三区av片| 日韩一二三区在线观看| 国产精品社区| 久久久久蜜桃| 国产精品毛片久久| 久久久久亚洲精品中文字幕| 国产欧美自拍一区| 综合国产在线| 日韩制服丝袜av| 国产专区一区| 久久中文字幕av| 99久久99久久精品国产片果冰| 正在播放日韩精品| 91综合网人人| 特黄毛片在线观看| 成人在线视频区| 精品一区二区三区在线观看视频| 国产精品美女午夜爽爽| 国产欧美一区二区三区精品观看| 亚洲狼人精品一区二区三区| 中文无码日韩欧| 一区二区三区午夜视频| 日韩中文字幕不卡| 免费看欧美美女黄的网站| 视频一区中文字幕| 日韩三级久久| 国产日韩欧美一区二区三区| 国产精品久久久久久模特| 狂野欧美性猛交xxxx| 欧美好骚综合网| 欧美日韩在线观看首页| 久久精品动漫| 亚洲免费观看| 亚洲精品欧美| 亚洲在线观看| 亚洲91网站| 国产精品中文字幕亚洲欧美| 精品亚洲成人| 亚洲v在线看| 欧美综合二区| 久久国产精品色av免费看| 久久一区精品| 久久国产电影| 蜜桃久久av一区| 91成人精品在线| 九九九精品视频| 日本一二区不卡| 久久久久久黄| 在线观看亚洲精品福利片| 欧美一区二区三区激情视频 | 精品国产乱码久久久久久1区2匹| 精品一区二区三区亚洲| 蜜臀久久精品| 视频在线观看一区二区三区| 国产亚洲一区二区三区不卡| 国产一区二区精品久| 一级欧洲+日本+国产| 日本麻豆一区二区三区视频| 老司机精品视频网| 日韩午夜一区| 亚洲福利免费| 亚洲一级少妇| 欧美激情福利| 日韩精选在线| 中文字幕视频精品一区二区三区| 欧美+日本+国产+在线a∨观看| 欧美日韩精品一区二区视频| 欧美1区免费| 亚洲男人在线| 国产精品一区二区三区av麻| 日本在线精品| 欧美影院视频| 国内精品福利| 国产精品va视频| 日韩精品1区| 一区二区三区四区日韩| 麻豆视频在线观看免费网站黄| 视频在线观看一区二区三区| 91亚洲国产高清| 91成人在线| 欧美午夜不卡| 成人av三级| 国产美女精品视频免费播放软件| 国产99久久| 国产一区二区三区四区大秀| 日韩欧美三区| 激情综合自拍| 98精品视频| 国产精品1区在线| 香蕉久久国产| 久久久久久久久99精品大| 日韩av网站免费在线| 91成人精品视频| 麻豆高清免费国产一区| 国产成人黄色| 欧美精品国产白浆久久久久| 蜜桃tv一区二区三区| 欧美亚洲免费| 综合激情五月婷婷| 91一区二区| 亚州av日韩av| 日韩视频不卡| 福利一区二区| 日本a级不卡| 国产欧美日韩免费观看| 国产精品外国| 国产黄大片在线观看| 视频一区日韩| 久久人人97超碰国产公开结果| 国模大尺度视频一区二区| 免费精品视频最新在线| 色一区二区三区四区| 日韩一区免费| 九一成人免费视频| 欧美1区二区| 亚洲精品美女91| 激情久久久久久| 激情久久久久久久| 国产成人调教视频在线观看|