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

詳解Python開發(fā)語言中的基本數(shù)據(jù)類型

 更新時間:2022年10月26日 09:45:00   作者:Jiangxl~  
數(shù)據(jù)類型想必大家都知道是什么含義,指的是輸入數(shù)據(jù)的類型,任何數(shù)據(jù)都有明確的數(shù)據(jù)類型。本文主要和大家聊聊Python的三種基本數(shù)據(jù)類型,感興趣的可以了解一下

1.Python的基本數(shù)據(jù)類型

數(shù)據(jù)類型想必大家都知道是什么含義,指的是輸入數(shù)據(jù)的類型,任何數(shù)據(jù)都有明確的數(shù)據(jù)類型,例如我們輸入100,這個數(shù)據(jù)就是整數(shù)類型,輸入7.7這個數(shù)據(jù)就是浮點(diǎn)數(shù)類型,輸入字母、漢字、字母加漢字的數(shù)據(jù)都是字符串類型。

Python基本數(shù)據(jù)類型有三種:

  • 整數(shù)類型:數(shù)字
  • 浮點(diǎn)數(shù)類型:帶小數(shù)點(diǎn)的數(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ù)類型是什么就不再多說了,在計(jì)算機(jī)整數(shù)中有四種不同的進(jìn)制表示方式,對于一個整數(shù)可以有十進(jìn)制、二進(jìn)制、八進(jìn)制、十六進(jìn)制這四種表示方式,默認(rèn)情況下整數(shù)是十進(jìn)制表示。

  • 十進(jìn)制默認(rèn)就是一個整數(shù),沒有任何含義
  • 二進(jìn)制是以0b開頭的,只有0和1兩個數(shù)字,在計(jì)算機(jī)中一切皆二進(jìn)制,只有0和1。
  • 八進(jìn)制是以0o開頭的,包含0-7八個數(shù)字。
  • 十六進(jìn)制是以0x開頭,包含0-9十個數(shù)字和A-F六個字母。

各種進(jìn)制包含的數(shù)字、計(jì)算方法都在下表中:

進(jìn)制類型基本數(shù)逢幾進(jìn)一 計(jì)算方法
十進(jìn)制0/1/2/3/4/5/6/7/8/910118=8+1*10^1+1*10^2
二進(jìn)制0/120b1110110=0+1*2^1+1*2^2+0*2^3+1*2^4+1*2^5+1*2^6=118
八進(jìn)制0/1/2/3/4/5/6/780o166=6+6*8^1+1*8^2=118
十六進(jìn)制0/1/2/3/4/5/6/7/8/9
A/B/C/D/E/F
160x76=6+7*16^118

進(jìn)制類型基本數(shù)逢幾進(jìn)一計(jì)算方法

進(jìn)制轉(zhuǎn)換的計(jì)算方法技巧:

任何進(jìn)制都是一個整數(shù),幾進(jìn)制轉(zhuǎn)換成幾進(jìn)制,就要看是逢幾進(jìn)一,例如整數(shù)118轉(zhuǎn)換成十進(jìn)制:

逢十進(jìn)一:118=8+1*10^1+1*10^2,從最左側(cè)的個位數(shù)開始計(jì)算,第一位不變,第二位乘10的1次方,第三位乘10的2次方,以此類推,有幾位數(shù)字就計(jì)算幾位,最后將數(shù)字相加就是準(zhǔn)確的十進(jìn)制數(shù)。

2.2.使用Python操作整數(shù)類型

print函數(shù)可以將輸入的整數(shù)(數(shù)字)轉(zhuǎn)換成十進(jìn)制數(shù),也可以結(jié)合進(jìn)制函數(shù)將輸入的數(shù)據(jù)轉(zhuǎn)換成指定進(jìn)制的數(shù)字,相當(dāng)于進(jìn)制轉(zhuǎn)換,還可以通過print函數(shù)結(jié)合int整數(shù)函數(shù)將傳入的數(shù)據(jù)轉(zhuǎn)換成一個整數(shù)。

1)使用print函數(shù)將輸入的整數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)

print函數(shù)會將傳入的整數(shù)轉(zhuǎn)換成一個十進(jìn)制數(shù)字,根據(jù)傳入的整數(shù),print函數(shù)會識別這個證書是幾進(jìn)制數(shù),然后通過運(yùn)算轉(zhuǎn)換成對應(yīng)的十進(jìn)制數(shù)。

#傳入一個十進(jìn)制數(shù)118,被print函數(shù)輸出后得到十進(jìn)制數(shù)118
print(118)

#傳入一個二進(jìn)制數(shù)0b1110110,被print函數(shù)輸出后得到十進(jìn)制數(shù)118
print(0b1110110)

#傳入一個八進(jìn)制數(shù)0o166,被print函數(shù)輸出后得到十進(jìn)制數(shù)118
print(0o166)

#傳入一個十六進(jìn)制數(shù)0x76,被print函數(shù)輸出后得到十進(jìn)制數(shù)118
print(0x76)

2)使用print函數(shù)將傳入的數(shù)據(jù)根據(jù)進(jìn)制函數(shù)轉(zhuǎn)換成對應(yīng)進(jìn)制數(shù)

使用print函數(shù),根據(jù)我們傳入的數(shù)據(jù),必須是整數(shù),然后通過進(jìn)制函數(shù),將這個整數(shù)轉(zhuǎn)換成對應(yīng)進(jìn)制的數(shù)字。

對于進(jìn)制轉(zhuǎn)換的函數(shù),Python有3個內(nèi)置的進(jìn)制函數(shù),可以將傳入的十進(jìn)制數(shù)字轉(zhuǎn)換成對應(yīng)進(jìn)制的字符串。

  • bin():將傳入的十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制字符串。
  • oct():將傳入的十進(jìn)制整數(shù)轉(zhuǎn)換成八進(jìn)制字符串。
  • hex():將傳入的十進(jìn)制整數(shù)轉(zhuǎn)換成十六進(jìn)制字符串。
#bin():將傳入的十進(jìn)制整數(shù)轉(zhuǎn)換成二進(jìn)制字符串
print(bin(118))
#返回0b1110110

# oct():將傳入的十進(jìn)制整數(shù)轉(zhuǎn)換成八進(jìn)制字符串。
print(oct(118))
#返回0o166

# hex():將傳入的十進(jìn)制整數(shù)轉(zhuǎn)換成十六進(jìn)制字符串。
print(hex(118))
#返回0x76

3)使用print函數(shù)配合int函數(shù)將傳入的數(shù)據(jù)轉(zhuǎn)換成整數(shù)

int函數(shù)可以將傳入的數(shù)據(jù)轉(zhuǎn)換成一個整數(shù),也可以說是創(chuàng)建一個整數(shù),使用int函數(shù)處理整數(shù)時有三種情況:

  • 當(dāng)int函數(shù)不傳入任何參數(shù)時,默認(rèn)返回整數(shù)0。
  • 當(dāng)int函數(shù)傳入一個參數(shù)時,會將傳遞的參數(shù)轉(zhuǎn)換成整數(shù),例如傳入的是小數(shù),也會將小數(shù)部分移除,僅顯示整數(shù)部分。
  • 當(dāng)int函數(shù)傳入兩個參數(shù)時,第一個參數(shù)必須是數(shù)字,第二個參數(shù)指定這個數(shù)字是哪種進(jìn)制,然后根據(jù)傳參將這個數(shù)字轉(zhuǎn)換成十進(jìn)制。
#當(dāng)int函數(shù)不傳入任何參數(shù)時,默認(rèn)返回整數(shù)0
print(int())

#當(dāng)int函數(shù)傳入一個參數(shù)時,會將傳遞的參數(shù)轉(zhuǎn)換成整數(shù)
print(int(118))				#轉(zhuǎn)換成118
print(int(118.9))			#轉(zhuǎn)換成118
print(int('117'))			#轉(zhuǎn)換成117


#int函數(shù)傳入兩個參數(shù)
#傳入數(shù)字118,這個數(shù)字是十進(jìn)制,轉(zhuǎn)換成對應(yīng)的十進(jìn)制數(shù),得到的結(jié)果是118
print(int('118',10))
#傳入數(shù)字0o166,這個數(shù)字是八進(jìn)制,轉(zhuǎn)換成對應(yīng)的十進(jìn)制數(shù),得到的結(jié)果是118
print(int('0o166',8))

3.浮點(diǎn)數(shù)類型的概念以及使用

浮點(diǎn)數(shù)指的就是小數(shù),我們可以直接使用print函數(shù)打印一個浮點(diǎn)數(shù)。

print(0.348923740932)
#得到結(jié)果0.348923740932

另外我們還可以通過float函數(shù)創(chuàng)建浮點(diǎn)數(shù),和int函數(shù)使用方法一樣,通過float函數(shù)可以指定傳入的數(shù)據(jù)輸出后是一個浮點(diǎn)數(shù),但是傳入的數(shù)字必須是數(shù)字。

對于float函數(shù)來說,如果不傳入任何參數(shù),默認(rèn)返回浮點(diǎn)數(shù)0.0,當(dāng)只傳遞一個參數(shù)時,會將傳遞的參數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)。

#不傳入?yún)?shù)默認(rèn)返回0
print(float())

#傳入一個整數(shù) 被float轉(zhuǎn)換成浮點(diǎn)數(shù) 結(jié)果為176.0
print(float(176))

#傳入一個浮點(diǎn)數(shù),被float轉(zhuǎn)換成浮點(diǎn)數(shù),結(jié)果不變:152.88
print(float(152.88))

另外對于很大的數(shù)字,例如幾千萬幾個億,我們也可以使用浮點(diǎn)數(shù)通過科學(xué)技術(shù)法的形式來表示。

公式為:men

? m表示浮點(diǎn)數(shù),e是固定寫法表示乘以10,n表示乘以10的n次方。

? 例如我要計(jì)算浮點(diǎn)數(shù)5.27的10的7次方是多少,寫法就是5.27e7,過程就是5.27*10^7,結(jié)果為52700000。

#52700000這個整數(shù)比較大,我們希望傳參時簡化輸入的內(nèi)容,少輸入一點(diǎn),基于這種情況可以通過float函數(shù)使用科學(xué)計(jì)數(shù)法的方式簡化輸入的內(nèi)容
print(float(5.27e7))
#返回的結(jié)果為:52700000.0

#求5.27的10的-3次方是多少
print(float(5.27e-3))

浮點(diǎn)數(shù)在運(yùn)算過程中可能會出現(xiàn)不精準(zhǔn)的現(xiàn)象,如下所示。

#運(yùn)算結(jié)果非0
print(1.1+2.2+3.3)
#輸出結(jié)果為6.6 精準(zhǔn)。

#運(yùn)算結(jié)果為0
print(1.1+2.2-3.3)
#輸出結(jié)果為:4.440892098500626e-16 不精準(zhǔn)。

對于這種不精準(zhǔn)的浮點(diǎn)數(shù)運(yùn)算,我們可以使用decimal、fractions這兩個模塊中的類來解決此問題。

使用decimal模塊可以處理十進(jìn)制浮點(diǎn)數(shù)運(yùn)算,使用fractions模塊可以處理分子分母相除之后的浮點(diǎn)數(shù)運(yùn)算。

1.使用decimal模塊解決

#從decimal模塊中導(dǎo)入Decimal類,Decimal可以理解為是decimal模塊中的內(nèi)置函數(shù)
from decimal import Decimal
#將浮點(diǎn)數(shù)傳入Decimal類中,使用print進(jìn)行運(yùn)算
print(Decimal('1.1') + Decimal('2.2') - Decimal('3.3'))
#輸出結(jié)果為:0.0 正確的結(jié)果

2.使用fractions模塊解決

#從fractions模塊中導(dǎo)入Fraction類,F(xiàn)raction類可以理解為是fractions這個模塊的內(nèi)置函數(shù)
from fractions import Fraction
#將浮點(diǎn)數(shù)傳入到Fraction類中,使用print進(jìn)行運(yùn)算
print(Fraction(11, 10) + Fraction(22, 10) - Fraction(33, 10))
#輸出結(jié)果:0 正確的結(jié)果

4.布爾類型的概念以及使用

布爾類型只有兩種取值范圍,要么是True,要么是False,嚴(yán)格區(qū)分大小寫。

例如:今天下雨嗎?今天回家嗎?都屬于布爾表達(dá)式,回答要么是True,要么是False。

#當(dāng)表達(dá)式為真時,返回True
print(5>3)
#當(dāng)表達(dá)式為假時,返回False
print(6<2)

True對應(yīng)的數(shù)字值是1,F(xiàn)alse對應(yīng)的數(shù)字值是0。

#TRUE的值為1,如果TRUE的值不為1,則會返回False
print(True == 1)

#False的值為0,如果False的值不為1,則會返回False
print(False == 0)

#為了進(jìn)一步驗(yàn)證True和False的值,我們進(jìn)行一組運(yùn)算,True=1+False=0+10,返回結(jié)果為11,就表示我們的說法是正確的
print(True + False + 10)

以上就是詳解Python開發(fā)語言中的基本數(shù)據(jù)類型的詳細(xì)內(nèi)容,更多關(guān)于Python基本數(shù)據(jù)類型的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論