欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中分?jǐn)?shù)的相關(guān)使用教程

 更新時(shí)間:2015年03月30日 09:25:28   作者:tyler  
這篇文章主要介紹了Python中分?jǐn)?shù)的相關(guān)使用教程,主要涉及分?jǐn)?shù)的計(jì)算、約分等簡(jiǎn)單操作,是Python學(xué)習(xí)過(guò)程當(dāng)中的基礎(chǔ),需要的朋友可以參考下

你可能不需要經(jīng)常處理分?jǐn)?shù),但當(dāng)你需要時(shí),Python的Fraction類(lèi)會(huì)給你很大的幫助。在該指南中,我將提供一些有趣的實(shí)例,用于展示如何處理分?jǐn)?shù),突出顯示一些很酷的功能。
1 基礎(chǔ)

Fraction類(lèi)在Lib/fractions.py文件中,所以可以這樣導(dǎo)入:
 

from fractions import Fraction

有很多種實(shí)例化Fraction類(lèi)的方法。

首先,你可以傳入分子和分母:
 

>>> Fraction(1, 2)
Fraction(1, 2)

或者利用另一個(gè)分?jǐn)?shù)進(jìn)行實(shí)例化:
 

>>> f = Fraction(1, 2)
>>> Fraction(f)
Fraction(1, 2)

使用一個(gè)浮點(diǎn)數(shù)進(jìn)行實(shí)例化:
 

>>> Fraction(2.5)
Fraction(5, 2)

或者使用一個(gè) decimal:
 

>>> from decimal import Decimal
>>> Fraction(Decimal('1.1'))
Fraction(11, 10)

最后一種方法,可能是最有趣的一種方法,你可以使用一個(gè)字符串實(shí)例化Fraction類(lèi):
 

>>> Fraction('9/16')
Fraction(9, 16)

本質(zhì)上講,F(xiàn)raction類(lèi)這么設(shè)計(jì),目的就是為了讓你在實(shí)例化該類(lèi)之前不需要做很多處理。Fraction類(lèi)知道如何處理多種不同的數(shù)據(jù)類(lèi)型。
2 自動(dòng)約分

約分并不是很難,但是對(duì)于一些復(fù)雜的分?jǐn)?shù),約分還是要費(fèi)點(diǎn)事的。Fraction類(lèi)在這方面特別有用,因?yàn)樗茏詣?dòng)約分分?jǐn)?shù)。
 

>>> Fraction(153, 272)
Fraction(9, 16)

純粹靠想,你可能無(wú)法約分153/172,但是Fraction類(lèi)能很快地完成約分。
3 二元運(yùn)算

你可以像對(duì)待整數(shù)和浮點(diǎn)數(shù)一樣,在Fraction對(duì)象上執(zhí)行二元運(yùn)算。

兩個(gè)分?jǐn)?shù)進(jìn)行相加操作:
 

>>> Fraction(1, 2) + Fraction(3, 4)
Fraction(5, 4)

這樣操作就很方便了,但是你也可以混合整數(shù)或浮點(diǎn)數(shù)。如你所料,F(xiàn)raction對(duì)象和一個(gè)整數(shù)進(jìn)行相加返回一個(gè)Fraction對(duì)象,但和一個(gè)浮點(diǎn)數(shù)進(jìn)行相加返回一個(gè)浮點(diǎn)數(shù)。
 

>>> Fraction(5, 16) + 3
Fraction(53, 16)
>>> Fraction(5, 16) + 3.0
3.3125

這里有一些其他的二元運(yùn)算的例子:
 

>>> Fraction(5, 16) - Fraction(1, 4)
Fraction(1, 16)
>>> Fraction(1, 16) * Fraction(3, 16)
Fraction(3, 256)
>>> Fraction(3, 16) / Fraction(1, 8)
Fraction(3, 2)

現(xiàn)在讓我們?cè)囋嚦朔讲僮鳎?br />  

>>> Fraction(1, 8) ** Fraction(1, 2)
0.3535533905932738

它返回一個(gè)浮點(diǎn)數(shù),可能是因?yàn)榉謹(jǐn)?shù)不能進(jìn)行合理的計(jì)算。實(shí)際上我們可以使用limit_denominator方法得到一個(gè)近似的Fraction值。
 

>>> f = Fraction(1, 8) ** Fraction(1, 2)
>>> Fraction(f).limit_denominator()
Fraction(235416, 665857)

記住,你可以混合字符串和其他上邊實(shí)例化部分中提到的數(shù)據(jù)類(lèi)型。
 

>>> Fraction("1/2") + Fraction(2.0)
Fraction(5, 2)
>>> Fraction(2) * Fraction("  1/2  ")
Fraction(1, 1)

4 獲取Fraction對(duì)象的屬性

你已經(jīng)有了一個(gè)Fraction對(duì)象,并且已經(jīng)做了一些計(jì)算,現(xiàn)在我們?nèi)绾卧L問(wèn)它的屬性呢?

不閱讀文檔的話,你或許會(huì)嘗試Fraction.numerator和Fraction.denominator,事實(shí)證明你是正確的。
 

>>> f = Fraction(221, 234) + Fraction(1, 2)
>>> f.numerator
13
>>> f.denominator
9

或者作為一個(gè)字符串,打印整個(gè)分?jǐn)?shù):
 

>>> print f
13/9
>>> a = str(f)
>>> a
'13/9'
5 GCD

這不是Fraction類(lèi)的一部分,它是在fractions庫(kù)中的。利用它你可以快速找到兩個(gè)數(shù)的最大公約數(shù)。

首先導(dǎo)入:
 

from fractions import gcd

一些例子:
 

>>> gcd(100, 75)
25
>>> gcd(221, 234)
13


6 總結(jié)

希望你已經(jīng)學(xué)到了一些關(guān)于在Python中處理分?jǐn)?shù)的東西。如果你想閱讀更多內(nèi)容,可以查看文檔。如果你感覺(jué)學(xué)起來(lái)非常有動(dòng)力,可以看看源代碼。

如果你有更有趣的分?jǐn)?shù)使用方法,告訴我,我會(huì)將它們添加到指南中。

相關(guān)文章

  • python實(shí)用的快捷語(yǔ)法技巧大全

    python實(shí)用的快捷語(yǔ)法技巧大全

    初識(shí)Python語(yǔ)言,覺(jué)得python滿足了我上學(xué)時(shí)候?qū)幊陶Z(yǔ)言的所有要求,下面這篇文章主要給大家介紹了關(guān)于python實(shí)用的快捷語(yǔ)法技巧的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • python中對(duì)list去重的多種方法

    python中對(duì)list去重的多種方法

    這篇文章主要介紹了python中對(duì)list去重的多種方法,本文去重的前提是要保證順序不變,本文給出了多種實(shí)現(xiàn)方法,需要的朋友可以參考下
    2014-09-09
  • Python編輯器Pycharm安裝配置超詳細(xì)教程

    Python編輯器Pycharm安裝配置超詳細(xì)教程

    PyCharm是一款功能強(qiáng)大的Python編輯器,具有跨平臺(tái)性,下面這篇文章主要給大家介紹了關(guān)于Python編輯器Pycharm安裝配置的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • Pytest中conftest.py的用法

    Pytest中conftest.py的用法

    conftest.py文件到底該如何使用呢,下面我們就來(lái)詳細(xì)了解一下conftest.py文件的特點(diǎn)和使用方法吧,感興趣的小伙伴們可以參考一下
    2021-06-06
  • PyQt4實(shí)時(shí)顯示文本內(nèi)容GUI的示例

    PyQt4實(shí)時(shí)顯示文本內(nèi)容GUI的示例

    今天小編就為大家分享一篇PyQt4實(shí)時(shí)顯示文本內(nèi)容GUI的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • 利用Python實(shí)現(xiàn)微信找房機(jī)器人實(shí)例教程

    利用Python實(shí)現(xiàn)微信找房機(jī)器人實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于如何利用Python實(shí)現(xiàn)微信找房機(jī)器人的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python2.7編程中SQLite3基本操作方法示例

    Python2.7編程中SQLite3基本操作方法示例

    這篇文章主要介紹了Python2.7編程中SQLite3基本操作方法,涉及Python2.7操作sqlite3數(shù)據(jù)庫(kù)的增刪改查及防注入等相關(guān)技巧,需要的朋友可以參考下
    2017-08-08
  • Python 位置參數(shù)基礎(chǔ)教程示例

    Python 位置參數(shù)基礎(chǔ)教程示例

    這篇文章主要為大家介紹了Python 位置參數(shù)基礎(chǔ)教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Python-Selenium自動(dòng)化爬蟲(chóng)

    Python-Selenium自動(dòng)化爬蟲(chóng)

    本文介紹Python-Selenium自動(dòng)化爬蟲(chóng),Selenium是一個(gè)Web的自動(dòng)化測(cè)試工具,最初是為網(wǎng)站自動(dòng)化測(cè)試而開(kāi)發(fā)的,Selenium?可以直接運(yùn)行在瀏覽器上,它支持所有主流的瀏覽器,可以接收指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù),甚至頁(yè)面截屏,xiamian?neir?需要的朋友可以參考下
    2022-01-01
  • 詳解用 python-docx 創(chuàng)建浮動(dòng)圖片

    詳解用 python-docx 創(chuàng)建浮動(dòng)圖片

    這篇文章主要介紹了詳解用 python-docx 創(chuàng)建浮動(dòng)圖片,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01

最新評(píng)論