溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中有什么內(nèi)置數(shù)據(jù)類型

發(fā)布時(shí)間:2021-09-06 17:33:39 來源:億速云 閱讀:190 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹python中有什么內(nèi)置數(shù)據(jù)類型,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

變量

說數(shù)據(jù)類型之前,請(qǐng)思考一下下面幾個(gè)問題:

  1. 數(shù)據(jù)是怎么存的呢?

  2. 數(shù)據(jù)類型有啥作用呢?

  3. 各種數(shù)據(jù)類型有啥區(qū)別呢?

要想回答這些問題,首先還是要先了解一下變量的概念。那么何為變量呢?
變量(Variable)可以看成是一個(gè)存放數(shù)據(jù)的盒子,每個(gè)變量都有一個(gè)指定的名字,通過變量名就可以找到變量中存放的數(shù)據(jù)。從底層的邏輯來看,變量就是在電腦內(nèi)存中開辟一個(gè)區(qū)域,然后被存放的數(shù)據(jù)放在該區(qū)域中。
與變量相對(duì)應(yīng)的是常量(Constant),他們都是用來存放數(shù)據(jù)的,不同的是常量一旦保存數(shù)據(jù)之后就不能修改了,而變量保存的數(shù)據(jù)可以被多次修改。

編程語言中,將數(shù)據(jù)放入變量的過程叫做賦值(Assignment),Python中使用等號(hào)=作為賦值運(yùn)算符,變量是標(biāo)識(shí)符的一種,所以變量的命名也是需要遵守Python標(biāo)識(shí)符的命名規(guī)范。

name=value

這里的name就是變量名,而value就是要到變量中的數(shù)據(jù)。一個(gè)變量只能容納一個(gè)值,當(dāng)一個(gè)變量被賦值之后,再次賦值的話就會(huì)覆蓋掉原來的值。
舉個(gè)栗子:

a=100

就是將數(shù)字100賦值給變量a。
解釋了變量的概念之后,就解決了第一問題,那就是數(shù)據(jù)是通過變量存在內(nèi)存中的,當(dāng)然也可以將數(shù)據(jù)持久化到硬盤中。

數(shù)據(jù)類型總覽

理清楚變量的概念之后,接下來總體介紹一下Python中各種內(nèi)置的數(shù)據(jù)類型,如下圖思維導(dǎo)圖顯示的,數(shù)據(jù)類型有很多,本文將主要介紹屬于數(shù)字的幾個(gè)數(shù)據(jù)類型。其余的數(shù)據(jù)類型在后續(xù)的文章中會(huì)介紹到。

python中有什么內(nèi)置數(shù)據(jù)類型

數(shù)據(jù)類型作用數(shù)據(jù)格式舉例
int(整數(shù))用于存放整數(shù)100100
float(小數(shù))用于存放小數(shù)書寫時(shí)必須包含小數(shù)點(diǎn)100.1
complex(復(fù)數(shù))用于存放二元有序?qū)崝?shù)對(duì)a+bj
bool(布爾類型)用于存放布爾值True或者False
True

Python是弱類型的語言

不同于其他強(qiáng)類型的編程語言(比如Java,C語言等),Python是弱類型的語言,其主要體現(xiàn)在

  1. 定義變量的時(shí)候不需要強(qiáng)制指定變量的數(shù)據(jù)類型。變量無須聲明就可以直接賦值,對(duì)一個(gè)不存在的變量賦值就相當(dāng)于定義一個(gè)新變量。

  2. 變量的數(shù)據(jù)類型可以隨時(shí)改變,比如,同一個(gè)變量可以一會(huì)被賦值為整數(shù),一會(huì)被賦值為字符串。

依然是舉栗說明:比如定義一個(gè)變量a,并將100賦值給它,Java中的寫法是:

int a=100

Python中的寫法是:

a=100

可以看出Java中必須聲明變量a的數(shù)據(jù)類型int,聲明之后就只能向變量a中賦值整數(shù),而不能賦值字符串等其他類型的數(shù)據(jù)。而Python則沒有這些限制。
弱數(shù)據(jù)類型并不等于沒有數(shù)據(jù)類型,這是在書寫的時(shí)候不用刻意聲明數(shù)據(jù)類型,但是在編程語言的內(nèi)部還是有數(shù)據(jù)類型的,可以通過type() 方法進(jìn)行查看其數(shù)據(jù)類型。

>>> type(100)
<class 'int'>
>>> type(100.1)
<class 'float'>
>>> type(True)
<class 'bool'>
>>> type(2+10j)
<class 'complex'>

各數(shù)據(jù)類型的詳細(xì)介紹

整數(shù)(int)

Python3中的整數(shù)是不分類型,也就是說沒有長整數(shù)類型(Long)或者短整數(shù)類型(short)之分,它的取值范圍是是無限的,即不管多大或者多小的數(shù)字,Python都能輕松的應(yīng)對(duì)。如下就是兩個(gè)極大或者極小的整數(shù)。

>>> 100000-0000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000
>>> print(-1000000000000000000000000000000000000000000000)
-1000000000000000000000000000000000000000000000

可以看出再大或者再小的數(shù)字都不會(huì)出現(xiàn)溢出的情況,這說明了Python對(duì)整數(shù)的處理能力非常強(qiáng)。

整數(shù)的不同進(jìn)制

Python中可以用多種進(jìn)制的來表示整數(shù)。

  • 十進(jìn)制形式

我們平時(shí)常見的整數(shù)就是十進(jìn)制形式,它由 0~9 共十個(gè)數(shù)字排列組合而成。
注意,使用十進(jìn)制形式的整數(shù)不能以 0 作為開頭,除非這個(gè)數(shù)值本身就是 0。

  • 二進(jìn)制形式

由 0 和 1 兩個(gè)數(shù)字組成,書寫時(shí)以0b或0B開頭。例如,1001對(duì)應(yīng)十進(jìn)制數(shù)是 9。

  • 八進(jìn)制形式

八進(jìn)制整數(shù)由 0~7 共八個(gè)數(shù)字組成,以0o或0O開頭。注意,第一個(gè)符號(hào)是數(shù)字 0,第二個(gè)符號(hào)是大寫或小寫的字母 O。

  • 十六進(jìn)制形式

由 0~9 十個(gè)數(shù)字以及 A~F(或 a~f)六個(gè)字母組成,書寫時(shí)以0x或0X開頭。

# 二進(jìn)制
a=0b1001
print('a=',a)
# 八進(jìn)制
b=0o207
print('b=',b)
# 十六進(jìn)制
c=0x45
print('c=',c)

運(yùn)行結(jié)果是:

a= 9
b= 135
c= 69

Python 3.x允許使用下劃線_作為數(shù)字(包括整數(shù)和小數(shù))的分隔符,通常每隔三個(gè)數(shù)字添加一個(gè)下劃線,比如:click = 1_301_547

浮點(diǎn)數(shù)/小數(shù)(float)

在編程語言中,小數(shù)通常以浮點(diǎn)數(shù)的形式存儲(chǔ),浮點(diǎn)數(shù)和定點(diǎn)數(shù)是相對(duì)的;小數(shù)在存儲(chǔ)過程中如果小數(shù)點(diǎn)發(fā)生移動(dòng),就稱為浮點(diǎn)數(shù);如果小數(shù)點(diǎn)不動(dòng),就稱為定點(diǎn)數(shù)。

小數(shù)的書寫形式

Python中的小數(shù)有兩種書寫形式:

  • 十進(jìn)制形式

這就是我們經(jīng)??吹降男?shù)形式,比如101.1;234.5;0.23

  • 指數(shù)形式

Python小數(shù)點(diǎn)指數(shù)形式的寫法為:aEn或aen
a為尾數(shù)部分,是一個(gè)十進(jìn)制,n為指數(shù)部分,是一個(gè)十進(jìn)制,E或者e是固定的字符,用于分割尾數(shù)部分和指數(shù)部分,真的表達(dá)式是 a×10n。
舉個(gè)栗子:
2.3E5=2.3x10的5次方
依然還舉個(gè)栗子:

x=10.01
print('x=',x)
y=-0.031
print('y=',y)
z=2.3E10
print('z=',z)
w=-0.00000001
print('w=',w)

運(yùn)行結(jié)果是:

x= 10.01
y= -0.031
z= 23000000000.0
w= -1e-08

復(fù)數(shù)(complex)

復(fù)數(shù)(complex)是由實(shí)部(real)和虛部(imag)構(gòu)成,在Python中,復(fù)數(shù)的虛部以j或者J作為后綴,具體格式是:

a+bj

其中a表示實(shí)部,b表示虛部

c1=100+2j
print("c1的值是:",c1)
c2=200+3J
print('C2的值是:',c2)

運(yùn)行結(jié)果是:

c1的值是 (100+2j)
C2的值是 (200+3j)

布爾類型(bool)

布爾類型用來表示真(對(duì))或假(錯(cuò)),比如常見的3>2 比較算式,這個(gè)是正確的,Python中使用True來代表;再比如2>3 比較算式,這個(gè)是錯(cuò)誤的,用False來代表。

print(3>2)
print(2>3)
print('True==1的結(jié)果是:',True==1)
print('False==0的結(jié)果是:',False==0)

運(yùn)行結(jié)果是:

True
False
True==1的結(jié)果是: True
False==0的結(jié)果是: True

從上述代碼可以看出,bool類型的True值對(duì)應(yīng)整數(shù)值1,而False值對(duì)應(yīng)整數(shù)值0。

以上是“python中有什么內(nèi)置數(shù)據(jù)類型”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI