淺談Python內置對象類型——數字篇(附py2和py3的區別之一)

Python是一門面向對象的編程設計語言,程序中每同樣東西均可以視爲一個對象。Python內置對象能夠分爲簡單類型和容器類型,簡單類型主要是數值型數據,而容器類型是能夠包含其餘對象類型的集體,如序列、元組、映射等。面試

在簡單類型對象中,Python的數值數據包括整型(int)、長整型(long)、浮點型(float)、複數(complex)及布爾型(bool)等。在容器類型對象中,序列是指元素按順序存儲的一類對象,主要包括字符串(string)、列表(list)、元組(tuple)等類型。映射是經過鍵來訪問值的一種結構,Python中惟一的映射結構就是字典(dict)對象。除了簡單類型和容器類型對象以外,還有一種特殊的對象爲None,是指空對象。編程

全部的對象都有數據屬性和內置的方法。對象的方法就是咱們常常說的函數,用於執行操做,做用於對象上。對象的屬性和方法均可以經過點操做符(.)來調用。網絡

今天小編就帶你們瞭解一下Python內置對象中的簡單類型對象,即數字類型。Python中的數值能夠是各類數,包括整數、長整數、浮點數、複數、布爾類型數等等。前天小編寫了一篇文章,關於如何在交互式環境中執行Python程序,下圖是部分實例,先感覺一下數字類型對象。編程語言

淺談Python內置對象類型——數字篇(附py2和py3的區別之一)

1、常量函數

Python中的數字常量支持多種格式,咱們常見的常量是整型和浮點型。其實Python中也支持科學計數法,經常用科學計數法來表示浮點數,如1.2e-3或1.2E-3表示1.2/*10的-3次方。除了默認的十進制數以外,還可使用二進制、八進制、十六進制來表示常數,不過要在這些數字前邊添加前綴以便和十進制數進行區分,二進制、八進制、十六進制的前綴分別是0b、0、0x。Python中的數字常量還支持複數和分數形式,可是在分數運算的時候有個地方須要注意,看下圖的例子。學習

淺談Python內置對象類型——數字篇(附py2和py3的區別之一)

py2版本中的分數運算測試

淺談Python內置對象類型——數字篇(附py2和py3的區別之一)

py3版本中的分數運算網站

小夥伴是否是感受到有點兒懵逼?在py2中整數除法運算的結果仍然爲整數,是取整,而不是四捨五入噢。當參與運算的數中有一個爲浮點數的時候,Python會自動將另外一個數字隱性的轉換爲浮點數,所以在第二個運算中獲得的結果爲浮點數。在py3中,除法的意義就和咱們平時見到的除法是一致的了,而不是取整。換句話說,除法的除數和被除數在py3中都先作了浮點數轉換,而後相除,最終獲得的商是浮點數。設計

Python的運算中還有雙斜槓//,也是表明除法,這個除法能夠獲得最大整數商,這種除法模式也叫floor除法。在py2中就支持這種模式,當兩個整數相除,結果只獲得商的整數部分。%表明取餘運算符,能夠獲得餘數部分。以下圖所示:cdn

淺談Python內置對象類型——數字篇(附py2和py3的區別之一)

floor除法和取餘運算

2、分數

分數包括分子和分母兩個部分。在Python中,函數Fraction(x, y)表示分數x/y。在使用該函數以前,須要導入分數模塊fractions,分數構建以後,就能夠在表達式中使用了。固然,也能夠將浮點數字符串轉換爲分數,以下圖所示:

淺談Python內置對象類型——數字篇(附py2和py3的區別之一)

分數Fraction函數運算

3、布爾型

布爾型對象只有兩個值,即對(True)和錯(False)。對於空數據類型,其布爾值均爲False。通常來講,布爾型數值用在條件判斷中比較多,其一般會做爲程序的分支或者循環的測試條件來使用。

4、複數

複數是由有理數部分和無理數部分構成。其中有理數部分稱爲實部,該部分無關緊要;而無理數部分稱爲虛部,該部分是必需須要的,虛部的後綴通常用j或者J表示。複數也支持常數中的四則運算等,複數之間運行的結果仍爲複數,以下圖所示:

淺談Python內置對象類型——數字篇(附py2和py3的區別之一)

複數中的四則運算

數字是最基本的數值類型,不論哪一種編程語言都離不開它。但願小夥伴們都好好掌握,在分數運算部分尤爲要注意掌握py2和py3版本中的不一樣,這個知識點在面試題中常常會碰到,其實這個部分也算是兩個版本的區別之一。 想學習更多Python網絡爬蟲與數據挖掘知識,可前往專業網站:pdcfighting.com/

相關文章
相關標籤/搜索