日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

python中numeric_Python中的Numeric

發(fā)布時(shí)間:2025/5/22 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中numeric_Python中的Numeric 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

整型Integer

在Python2.X中,Integer有兩種類型,一種是32bit的普通類型,一種是精度無限制的long類型,在數(shù)字后面標(biāo)識(shí)l或者L來標(biāo)識(shí)long類型,并且,當(dāng)32bit發(fā)生overflow無法表示時(shí),會(huì)自動(dòng)轉(zhuǎn)換成long類型;

在Python3.X中,Integer只有一種類型,就是long類型,因此,后面的l或者L標(biāo)識(shí)就可以不用寫了

浮點(diǎn)數(shù)Float

在標(biāo)準(zhǔn)的CPython中,浮點(diǎn)數(shù)就是以double類型來實(shí)現(xiàn)的,這里需要注意的是,當(dāng)一個(gè)整型與浮點(diǎn)數(shù)進(jìn)行運(yùn)算的時(shí),結(jié)果是什么類型呢?答案是浮點(diǎn)類型。在進(jìn)行運(yùn)算時(shí),Python會(huì)先將操作數(shù)向上轉(zhuǎn)換為更為復(fù)雜的類型,然后進(jìn)行計(jì)算。在Python中,浮點(diǎn)數(shù)類型比Integer類型復(fù)雜,而復(fù)數(shù)Complex比浮點(diǎn)數(shù)復(fù)雜(如果把Decimal和Fraction考慮在內(nèi),那么Decimal和Fraction比Integer復(fù)雜,同時(shí)浮點(diǎn)數(shù)比Decimal和Fraction復(fù)雜,而Decimal和Fraction兩者是不能一起進(jìn)行運(yùn)算的,Python會(huì)報(bào)錯(cuò))

定點(diǎn)數(shù)Decimal

1 定點(diǎn)數(shù)的生成

定點(diǎn)數(shù)由Decimal類生成:

from decimal import Decimal

Decimal("0.1") + Decimal("0.10") + Decimal("0.2")

#運(yùn)行結(jié)果為Decimal("0.40")

在上述例子中,Decimal運(yùn)算會(huì)自動(dòng)進(jìn)行精度轉(zhuǎn)換,運(yùn)算結(jié)果的精度和運(yùn)算項(xiàng)中,精度最大的項(xiàng)一致。

在Python2.7,Python3.X中,還可以從浮點(diǎn)數(shù)生成定點(diǎn)數(shù):

Decimal(0.1) + Decimal(0.1) + Decimal(0.1) - Decimal(0.3)

#運(yùn)算結(jié)果:Decimal('2.775557561565156540423631668E-17')

由于浮點(diǎn)數(shù)的表示問題,最后可能會(huì)生成一個(gè)精度很大的定點(diǎn)數(shù),為了避免這種情況,可以手動(dòng)指定定點(diǎn)數(shù)的精度

2 定點(diǎn)數(shù)的精度

定點(diǎn)數(shù)的默認(rèn)精度是28位,可以手動(dòng)進(jìn)行設(shè)置,并且一旦設(shè)置,后續(xù)所有在當(dāng)前線程中創(chuàng)建的定點(diǎn)數(shù)精度都一樣,設(shè)置精度的方法就是使用decimal.getcontext方法:

#設(shè)置精度前

decimal.Decimal(1) / decimal.Decimal(7)

####運(yùn)行結(jié)果

####Decimal('0.1428571428571428571428571429')

#設(shè)置精度后

decimal.getcontext().prec = 4

decimal.Decimal(1) / decimal.Decimal(7)

####運(yùn)行結(jié)果

####Decimal('0.1429')

有理數(shù)Fraction

1 有理數(shù)的生成

有理數(shù)由Fraction類生成:

from fractions import Fraction

Fraction(1, 3) + Fraction(1, 3)

#運(yùn)行結(jié)果Fraction(2, 3)

有理數(shù)同樣也可以由浮點(diǎn)數(shù)字符串生成:

Fraction("1.333")

#運(yùn)行結(jié)果Fraction(1333, 1000)

2 浮點(diǎn)數(shù)轉(zhuǎn)換為有理數(shù)

浮點(diǎn)數(shù)轉(zhuǎn)換為有理數(shù)的時(shí),可能會(huì)有精度的丟失,這時(shí),可以設(shè)置分子的最大值,從而產(chǎn)生我們想要的結(jié)果

a = (4.0 / 3).as_integer_ratio()

a = Fraction(*a)

#運(yùn)行結(jié)果為Fraction(22517998136852479, 13510798882111488)

a.limit_denominator(10) #設(shè)置分子的最大值

#運(yùn)行結(jié)果為Fraction(4, 3)

Boolean

Python中的Boolean類型bool只包含兩個(gè)值True和False,True和False本質(zhì)上就是1和0,但它們同時(shí)也是bool類型的兩個(gè)實(shí)例,而bool類型是int類型的子類,所以會(huì)有如下的現(xiàn)象:

isinstance(True, int)

#運(yùn)行結(jié)果True

True == 1

#運(yùn)行結(jié)果True

True is 1

#運(yùn)行結(jié)果False

True + 4

#運(yùn)行結(jié)果5

python中,numeric(數(shù)字類型)和integer(整型)的區(qū)別

說明: 在今天做int實(shí)現(xiàn)的過程中,官方函數(shù)的解釋是將numeric轉(zhuǎn)換為integer,就突然不明白,兩個(gè)有啥區(qū)別. numeric-數(shù)字類型包括: int,float,bool,complex i ...

Python::re 模塊 -- 在Python中使用正則表達(dá)式

前言 這篇文章,并不是對(duì)正則表達(dá)式的介紹,而是對(duì)Python中如何結(jié)合re模塊使用正則表達(dá)式的介紹.文章的側(cè)重點(diǎn)是如何使用re模塊在Python語言中使用正則表達(dá)式,對(duì)于Python表達(dá)式的語法和詳細(xì) ...

Python中的內(nèi)置函數(shù)

2.1 Built-in Functions The Python interpreter has a number of functions built into it that are alway ...

Python中異常(Exception)的總結(jié)

Python中的異常處理 異常處理的語句結(jié)構(gòu) try: #運(yùn)行try語句塊,并試圖捕獲異常 except :

[轉(zhuǎn)]Python中的矩陣轉(zhuǎn)置

Python中的矩陣轉(zhuǎn)置 via 需求: 你需要轉(zhuǎn)置一個(gè)二維數(shù)組,將行列互換. 討論: 你需要確保該數(shù)組的行列數(shù)都是相同的.比如: arr = [[1, 2, 3], [4, 5, 6], [7, 8 ...

【轉(zhuǎn)載】python中not,and,or的優(yōu)先級(jí)問題及用法

作業(yè): >>> print(5<4 or 3)3>>> print(2>1 or 6)True>>> print(5>1 and ...

Python中模塊的發(fā)布與安裝

模塊(Module) Python中有一個(gè)概念叫做模塊(module),這個(gè)和C語言中的頭文件以及Java中的包很類似,比如在Python中要調(diào)用sqrt函數(shù),必須用import關(guān)鍵字引入math這個(gè) ...

對(duì)于Python中回調(diào)函數(shù)的理解

關(guān)于回調(diào)函數(shù),網(wǎng)上有很多說明和各種解釋,多數(shù)在嘗試用語言描述.我認(rèn)為,如果對(duì)各個(gè)角色之間的關(guān)系不清楚,如果沒有相關(guān)的編程需求,那么語言便非常無力,很難理解. 這是360百科的解釋: 在計(jì)算機(jī)程序設(shè)計(jì)中 ...

Python中的基礎(chǔ)數(shù)據(jù)類型

Python中基礎(chǔ)數(shù)據(jù)類型 1.數(shù)字 整型a=12或者a=int(2),本質(zhì)上各種數(shù)據(jù)類型都可看成是類,聲明一個(gè)變量時(shí)候則是在實(shí)例化一個(gè)類. 整型具備的功能: class int(object): & ...

隨機(jī)推薦

&OpenCurlyDoubleQuote;error LNK2019&colon; 無法解析的外部符號(hào)”之分析

最近在用VS 2008開發(fā),初學(xué)遇到不少問題,最頭疼的問題之一就是:LNK2019. 百度一下講的并不夠全面,反正都沒解決我的問題. error LNK2019問題在VC 6.0中是error LNK ...

Eclipse全面提速小技巧

轉(zhuǎn)自:http://rongmayisheng.com/post/eclipse%E5%85%A8%E9%9D%A2%E6%8F%90%E9%80%9F 歡迎關(guān)注我的社交賬號(hào): 博客園地址: http ...

java并發(fā)包分析之———ConcurrentSkipListMap

一.前言 concurrentHashMap與ConcurrentSkipListMap性能測試 在4線程1.6萬數(shù)據(jù)的條件下,ConcurrentHashMap 存取速度是ConcurrentSki ...

c&num; 虛函數(shù) ,抽象類

---抽象類 class Program { static void Main(string[] args) { Rectangle r = , ); double a = r.area(); Con ...

mac shell 獲取ip,自動(dòng)啟動(dòng)文件http服務(wù)

因?yàn)楣ぷ髟?時(shí)常有文件傳輸需求. rz.nc.rsync都用過,各有各的好處. 但相對(duì)的,向別處推文件時(shí)總有各種麻煩,尤其是在給同事發(fā)送文件時(shí). 然后就想到了提供http服務(wù). 在環(huán)境變量中定義別名 ...

&lbrack;Laravel&rsqb; 01 - Love beautiful code&quest; We do too&period;

前言 一.良心資料 英文 Laravel 框架:https://laravel.com/ 教程:https://laracasts.com/series/ laravel-from-scratch-2 ...

刪除oracle 表中重復(fù)數(shù)據(jù)sql語句、保留rowid最小的一條記錄

delete from tablename a where rowid > ( select min(rowid) from table_name b where b.id = a.id and ...

Qt的四個(gè)常見的圖像疊加模式

Qt的QPainter::CompositionMode提供了多種圖像疊加的模式.常見的有QPainter::CompositionMode_SourceOver,?QPainter::Composi ...

C&plus;&plus;之參數(shù)總結(jié)

函數(shù)的形參為函數(shù)提供了已命名的局部存儲(chǔ)空間,它是在函數(shù)的形參表中定義的,并由調(diào)用函數(shù)時(shí)傳遞給函數(shù)的實(shí)參初始化,而形參的 初始化與變量的初始化一樣,如果形參具有非引用類型,則復(fù)制實(shí)參的值,如果形參為引用 ...

SQSERVER--函數(shù)、開窗函數(shù)&comma;-特殊的內(nèi)容 (for xml path )

1.STUFF SQL Server之深入理解STUFF sql stuff函數(shù)用于刪除指定長度的字符,并可以在制定的起點(diǎn)處插入另一組字符.sql stuff函數(shù)中如果開始位置或長度值是負(fù)數(shù),或者如果 ...

總結(jié)

以上是生活随笔為你收集整理的python中numeric_Python中的Numeric的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。