詳解Python開發(fā)語言中的基本數(shù)據(jù)類型
1.Python的基本數(shù)據(jù)類型
數(shù)據(jù)類型想必大家都知道是什么含義,指的是輸入數(shù)據(jù)的類型,任何數(shù)據(jù)都有明確的數(shù)據(jù)類型,例如我們輸入100,這個數(shù)據(jù)就是整數(shù)類型,輸入7.7這個數(shù)據(jù)就是浮點數(shù)類型,輸入字母、漢字、字母加漢字的數(shù)據(jù)都是字符串類型。
Python基本數(shù)據(jù)類型有三種:
- 整數(shù)類型:數(shù)字
- 浮點數(shù)類型:帶小數(shù)點的數(shù)字
- 字符串類型:字母、數(shù)字、漢字任意組合
通過type
函數(shù)可以讀取某個數(shù)據(jù)的數(shù)據(jù)類型,配合print
函數(shù)可以打印出某個數(shù)據(jù)的類型,語法格式如下。
type(輸入的數(shù)據(jù))
print(type(輸入的數(shù)據(jù)))
打印出100、7.7、aaas11sdj三個數(shù)據(jù)的數(shù)據(jù)類型。
print(type(100)) print(type(7.7)) print(type('aaas11sdj'))
使用print配合type函數(shù)一起使用,可以打印出某個數(shù)據(jù)的數(shù)據(jù)類型是什么。
2.整數(shù)類型的概念以及使用
2.1.整數(shù)類型的概念
整數(shù)類型是什么就不再多說了,在計算機整數(shù)中有四種不同的進制表示方式,對于一個整數(shù)可以有十進制、二進制、八進制、十六進制這四種表示方式,默認情況下整數(shù)是十進制表示。
- 十進制默認就是一個整數(shù),沒有任何含義
- 二進制是以0b開頭的,只有0和1兩個數(shù)字,在計算機中一切皆二進制,只有0和1。
- 八進制是以0o開頭的,包含0-7八個數(shù)字。
- 十六進制是以0x開頭,包含0-9十個數(shù)字和A-F六個字母。
各種進制包含的數(shù)字、計算方法都在下表中:
進制類型 | 基本數(shù) | 逢幾進一 | 計算方法 |
---|---|---|---|
十進制 | 0/1/2/3/4/5/6/7/8/9 | 10 | 118=8+1*10^1+1*10^2 |
二進制 | 0/1 | 2 | 0b1110110=0+1*2^1+1*2^2+0*2^3+1*2^4+1*2^5+1*2^6=118 |
八進制 | 0/1/2/3/4/5/6/7 | 8 | 0o166=6+6*8^1+1*8^2=118 |
十六進制 | 0/1/2/3/4/5/6/7/8/9 A/B/C/D/E/F | 16 | 0x76=6+7*16^118 |
進制類型基本數(shù)逢幾進一計算方法
進制轉換的計算方法技巧:
任何進制都是一個整數(shù),幾進制轉換成幾進制,就要看是逢幾進一,例如整數(shù)118轉換成十進制:
逢十進一:118=8+1*10^1+1*10^2
,從最左側的個位數(shù)開始計算,第一位不變,第二位乘10的1次方,第三位乘10的2次方,以此類推,有幾位數(shù)字就計算幾位,最后將數(shù)字相加就是準確的十進制數(shù)。
2.2.使用Python操作整數(shù)類型
print函數(shù)可以將輸入的整數(shù)(數(shù)字)轉換成十進制數(shù),也可以結合進制函數(shù)將輸入的數(shù)據(jù)轉換成指定進制的數(shù)字,相當于進制轉換,還可以通過print函數(shù)結合int整數(shù)函數(shù)將傳入的數(shù)據(jù)轉換成一個整數(shù)。
1)使用print函數(shù)將輸入的整數(shù)轉換成十進制數(shù)
print函數(shù)會將傳入的整數(shù)轉換成一個十進制數(shù)字,根據(jù)傳入的整數(shù),print函數(shù)會識別這個證書是幾進制數(shù),然后通過運算轉換成對應的十進制數(shù)。
#傳入一個十進制數(shù)118,被print函數(shù)輸出后得到十進制數(shù)118 print(118) #傳入一個二進制數(shù)0b1110110,被print函數(shù)輸出后得到十進制數(shù)118 print(0b1110110) #傳入一個八進制數(shù)0o166,被print函數(shù)輸出后得到十進制數(shù)118 print(0o166) #傳入一個十六進制數(shù)0x76,被print函數(shù)輸出后得到十進制數(shù)118 print(0x76)
2)使用print函數(shù)將傳入的數(shù)據(jù)根據(jù)進制函數(shù)轉換成對應進制數(shù)
使用print函數(shù),根據(jù)我們傳入的數(shù)據(jù),必須是整數(shù),然后通過進制函數(shù),將這個整數(shù)轉換成對應進制的數(shù)字。
對于進制轉換的函數(shù),Python有3個內(nèi)置的進制函數(shù),可以將傳入的十進制數(shù)字轉換成對應進制的字符串。
- bin():將傳入的十進制整數(shù)轉換成二進制字符串。
- oct():將傳入的十進制整數(shù)轉換成八進制字符串。
- hex():將傳入的十進制整數(shù)轉換成十六進制字符串。
#bin():將傳入的十進制整數(shù)轉換成二進制字符串 print(bin(118)) #返回0b1110110 # oct():將傳入的十進制整數(shù)轉換成八進制字符串。 print(oct(118)) #返回0o166 # hex():將傳入的十進制整數(shù)轉換成十六進制字符串。 print(hex(118)) #返回0x76
3)使用print函數(shù)配合int函數(shù)將傳入的數(shù)據(jù)轉換成整數(shù)
int函數(shù)可以將傳入的數(shù)據(jù)轉換成一個整數(shù),也可以說是創(chuàng)建一個整數(shù),使用int函數(shù)處理整數(shù)時有三種情況:
- 當int函數(shù)不傳入任何參數(shù)時,默認返回整數(shù)0。
- 當int函數(shù)傳入一個參數(shù)時,會將傳遞的參數(shù)轉換成整數(shù),例如傳入的是小數(shù),也會將小數(shù)部分移除,僅顯示整數(shù)部分。
- 當int函數(shù)傳入兩個參數(shù)時,第一個參數(shù)必須是數(shù)字,第二個參數(shù)指定這個數(shù)字是哪種進制,然后根據(jù)傳參將這個數(shù)字轉換成十進制。
#當int函數(shù)不傳入任何參數(shù)時,默認返回整數(shù)0 print(int()) #當int函數(shù)傳入一個參數(shù)時,會將傳遞的參數(shù)轉換成整數(shù) print(int(118)) #轉換成118 print(int(118.9)) #轉換成118 print(int('117')) #轉換成117 #int函數(shù)傳入兩個參數(shù) #傳入數(shù)字118,這個數(shù)字是十進制,轉換成對應的十進制數(shù),得到的結果是118 print(int('118',10)) #傳入數(shù)字0o166,這個數(shù)字是八進制,轉換成對應的十進制數(shù),得到的結果是118 print(int('0o166',8))
3.浮點數(shù)類型的概念以及使用
浮點數(shù)指的就是小數(shù),我們可以直接使用print函數(shù)打印一個浮點數(shù)。
print(0.348923740932) #得到結果0.348923740932
另外我們還可以通過float函數(shù)創(chuàng)建浮點數(shù),和int函數(shù)使用方法一樣,通過float函數(shù)可以指定傳入的數(shù)據(jù)輸出后是一個浮點數(shù),但是傳入的數(shù)字必須是數(shù)字。
對于float函數(shù)來說,如果不傳入任何參數(shù),默認返回浮點數(shù)0.0,當只傳遞一個參數(shù)時,會將傳遞的參數(shù)轉換為浮點數(shù)。
#不傳入?yún)?shù)默認返回0 print(float()) #傳入一個整數(shù) 被float轉換成浮點數(shù) 結果為176.0 print(float(176)) #傳入一個浮點數(shù),被float轉換成浮點數(shù),結果不變:152.88 print(float(152.88))
另外對于很大的數(shù)字,例如幾千萬幾個億,我們也可以使用浮點數(shù)通過科學技術法的形式來表示。
公式為:men
? m表示浮點數(shù),e是固定寫法表示乘以10,n表示乘以10的n次方。
? 例如我要計算浮點數(shù)5.27的10的7次方是多少,寫法就是5.27e7,過程就是5.27*10^7
,結果為52700000。
#52700000這個整數(shù)比較大,我們希望傳參時簡化輸入的內(nèi)容,少輸入一點,基于這種情況可以通過float函數(shù)使用科學計數(shù)法的方式簡化輸入的內(nèi)容 print(float(5.27e7)) #返回的結果為:52700000.0 #求5.27的10的-3次方是多少 print(float(5.27e-3))
浮點數(shù)在運算過程中可能會出現(xiàn)不精準的現(xiàn)象,如下所示。
#運算結果非0 print(1.1+2.2+3.3) #輸出結果為6.6 精準。 #運算結果為0 print(1.1+2.2-3.3) #輸出結果為:4.440892098500626e-16 不精準。
對于這種不精準的浮點數(shù)運算,我們可以使用decimal、fractions這兩個模塊中的類來解決此問題。
使用decimal模塊可以處理十進制浮點數(shù)運算,使用fractions模塊可以處理分子分母相除之后的浮點數(shù)運算。
1.使用decimal模塊解決
#從decimal模塊中導入Decimal類,Decimal可以理解為是decimal模塊中的內(nèi)置函數(shù) from decimal import Decimal #將浮點數(shù)傳入Decimal類中,使用print進行運算 print(Decimal('1.1') + Decimal('2.2') - Decimal('3.3')) #輸出結果為:0.0 正確的結果
2.使用fractions模塊解決
#從fractions模塊中導入Fraction類,F(xiàn)raction類可以理解為是fractions這個模塊的內(nèi)置函數(shù) from fractions import Fraction #將浮點數(shù)傳入到Fraction類中,使用print進行運算 print(Fraction(11, 10) + Fraction(22, 10) - Fraction(33, 10)) #輸出結果:0 正確的結果
4.布爾類型的概念以及使用
布爾類型只有兩種取值范圍,要么是True,要么是False,嚴格區(qū)分大小寫。
例如:今天下雨嗎?今天回家嗎?都屬于布爾表達式,回答要么是True,要么是False。
#當表達式為真時,返回True print(5>3) #當表達式為假時,返回False print(6<2)
True對應的數(shù)字值是1,F(xiàn)alse對應的數(shù)字值是0。
#TRUE的值為1,如果TRUE的值不為1,則會返回False print(True == 1) #False的值為0,如果False的值不為1,則會返回False print(False == 0) #為了進一步驗證True和False的值,我們進行一組運算,True=1+False=0+10,返回結果為11,就表示我們的說法是正確的 print(True + False + 10)
以上就是詳解Python開發(fā)語言中的基本數(shù)據(jù)類型的詳細內(nèi)容,更多關于Python基本數(shù)據(jù)類型的資料請關注腳本之家其它相關文章!
相關文章
python3 dict ndarray 存成json,并保留原數(shù)據(jù)精度的實例
今天小編就為大家分享一篇python3 dict ndarray 存成json,并保留原數(shù)據(jù)精度的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài)
這篇文章主要介紹了使用Python腳本zabbix自定義key監(jiān)控oracle連接狀態(tài),本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08win10環(huán)境下配置vscode python開發(fā)環(huán)境的教程詳解
這篇文章主要介紹了win10環(huán)境下配置python開發(fā)環(huán)境(vscode)的教程,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10python類:class創(chuàng)建、數(shù)據(jù)方法屬性及訪問控制詳解
下面小編就為大家?guī)硪黄猵ython類:class創(chuàng)建、數(shù)據(jù)方法屬性及訪問控制詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07Pandas計算元素的數(shù)量和頻率的方法(出現(xiàn)的次數(shù))
本文主要介紹了Pandas計算元素的數(shù)量和頻率的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02