目錄
- Python的內(nèi)置數(shù)據(jù)類(lèi)型中的數(shù)字
- 1、變量
- 2、數(shù)據(jù)類(lèi)型總覽
- 3、Python是弱類(lèi)型的語(yǔ)言
- 4、各數(shù)據(jù)類(lèi)型的詳細(xì)介紹
- 4.1 整數(shù)(int)
- 4.2 浮點(diǎn)數(shù)/小數(shù)(float)
- 5、復(fù)數(shù)(complex)
- 6、布爾類(lèi)型(bool)
Python的內(nèi)置數(shù)據(jù)類(lèi)型中的數(shù)字
1、變量
說(shuō)數(shù)據(jù)類(lèi)型之前,我們要先思考一下下面幾個(gè)問(wèn)題:
- 數(shù)據(jù)是怎么存的呢?
- 數(shù)據(jù)類(lèi)型有啥作用呢?
- 各種數(shù)據(jù)類(lèi)型有啥區(qū)別呢?
要想回答這些問(wèn)題,首先還是要先了解一下變量的概念。那么何為變量呢?
變量
(Variable
)可以看成是一個(gè)存放數(shù)據(jù)的盒子,每個(gè)變量都有一個(gè)指定的名字,通過(guò)變量名就可以找到變量中存放的數(shù)據(jù)。從底層的邏輯來(lái)看,變量就是在電腦內(nèi)存中開(kāi)辟一個(gè)區(qū)域,然后被存放的數(shù)據(jù)放在該區(qū)域中。
與變量相對(duì)應(yīng)的是常量(Constant
),他們都是用來(lái)存放數(shù)據(jù)的,不同的是常量一旦保存數(shù)據(jù)之后就不能修改了,而變量保存的數(shù)據(jù)可以被多次修改。
編程語(yǔ)言中,將數(shù)據(jù)放入變量的過(guò)程叫做賦值(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ì)覆蓋掉原來(lái)的值。
舉個(gè)栗子:
a=100
就是將數(shù)字100賦值給變量a。
解釋了變量的概念之后,就解決了第一問(wèn)題,那就是數(shù)據(jù)是通過(guò)變量存在內(nèi)存中的,當(dāng)然也可以將數(shù)據(jù)持久化到硬盤(pán)中。
2、數(shù)據(jù)類(lèi)型總覽
理清楚變量的概念之后,接下來(lái)總體介紹一下Python中各種內(nèi)置的數(shù)據(jù)類(lèi)型,如下圖思維導(dǎo)圖顯示的,數(shù)據(jù)類(lèi)型有很多,本文將主要介紹屬于數(shù)字的幾個(gè)數(shù)據(jù)類(lèi)型。其余的數(shù)據(jù)類(lèi)型在后續(xù)的文章中會(huì)介紹到。
3、
3、Python是弱類(lèi)型的語(yǔ)言
不同于其他強(qiáng)類(lèi)型的編程語(yǔ)言(比如Java,C語(yǔ)言等),Python是弱類(lèi)型的語(yǔ)言,其主要體現(xiàn)在
定義變量的時(shí)候不需要強(qiáng)制指定變量的數(shù)據(jù)類(lèi)型。變量無(wú)須聲明就可以直接賦值,對(duì)一個(gè)不存在的變量賦值就相當(dāng)于定義一個(gè)新變量。
變量的數(shù)據(jù)類(lèi)型可以隨時(shí)改變,比如,同一個(gè)變量可以一會(huì)被賦值為整數(shù),一會(huì)被賦值為字符串。
依然是舉栗說(shuō)明:比如定義一個(gè)變量a,并將100賦值給它,Java中的寫(xiě)法是:
int a=100
Python中的寫(xiě)法是:
a=100
可以看出Java中必須聲明變量a的數(shù)據(jù)類(lèi)型int,聲明之后就只能向變量a中賦值整數(shù),而不能賦值字符串等其他類(lèi)型的數(shù)據(jù)。而Python則沒(méi)有這些限制。
弱數(shù)據(jù)類(lèi)型并不等于沒(méi)有數(shù)據(jù)類(lèi)型,這是在書(shū)寫(xiě)的時(shí)候不用刻意聲明數(shù)據(jù)類(lèi)型,但是在編程語(yǔ)言的內(nèi)部還是有數(shù)據(jù)類(lèi)型的,可以通過(guò)type() 方法進(jìn)行查看其數(shù)據(jù)類(lèi)型。
>>> type(100)
class 'int'>
>>> type(100.1)
class 'float'>
>>> type(True)
class 'bool'>
>>> type(2+10j)
class 'complex'>
4、各數(shù)據(jù)類(lèi)型的詳細(xì)介紹
4.1 整數(shù)(int)
Python3中的整數(shù)是不分類(lèi)型,也就是說(shuō)沒(méi)有長(zhǎng)整數(shù)類(lèi)型(Long)或者短整數(shù)類(lèi)型(short)之分,它的取值范圍是是無(wú)限的,即不管多大或者多小的數(shù)字,Python都能輕松的應(yīng)對(duì)。如下就是兩個(gè)極大或者極小的整數(shù)。
>>> 100000-0000000000000000000000000000000000000000
1000000000000000000000000000000000000000000000
>>> print(-1000000000000000000000000000000000000000000000)
-1000000000000000000000000000000000000000000000
可以看出再大或者再小的數(shù)字都不會(huì)出現(xiàn)溢出的情況,這說(shuō)明了Python對(duì)整數(shù)的處理能力非常強(qiáng)。
4.1.1 整數(shù)的不同進(jìn)制
Python中可以用多種進(jìn)制的來(lái)表示整數(shù)。
(1)十進(jìn)制形式
我們平時(shí)常見(jiàn)的整數(shù)就是十進(jìn)制形式,它由 0~9 共十個(gè)數(shù)字排列組合而成。
注意,使用十進(jìn)制形式的整數(shù)不能以 0 作為開(kāi)頭,除非這個(gè)數(shù)值本身就是 0。
(2)二進(jìn)制形式
由 0 和 1 兩個(gè)數(shù)字組成,書(shū)寫(xiě)時(shí)以0b或0B開(kāi)頭。例如,1001對(duì)應(yīng)十進(jìn)制數(shù)是 9。
(3)八進(jìn)制形式
八進(jìn)制整數(shù)由 0~7 共八個(gè)數(shù)字組成,以0o或0O開(kāi)頭。注意,第一個(gè)符號(hào)是數(shù)字 0,第二個(gè)符號(hào)是大寫(xiě)或小寫(xiě)的字母 O。
(4)十六進(jìn)制形式
由 0~9 十個(gè)數(shù)字以及 A~F(或 a~f)六個(gè)字母組成,書(shū)寫(xiě)時(shí)以0x或0X開(kāi)頭。
# 二進(jìn)制
a=0b1001
print('a=',a)
# 八進(jìn)制
b=0o207
print('b=',b)
# 十六進(jìn)制
c=0x45
print('c=',c)
運(yùn)行結(jié)果是:
Python 3.x允許使用下劃線_作為數(shù)字(包括整數(shù)和小數(shù))的分隔符,通常每隔三個(gè)數(shù)字添加一個(gè)下劃線,比如:click = 1_301_547
4.2 浮點(diǎn)數(shù)/小數(shù)(float)
在編程語(yǔ)言中,小數(shù)通常以浮點(diǎn)數(shù)的形式存儲(chǔ),浮點(diǎn)數(shù)和定點(diǎn)數(shù)是相對(duì)的;小數(shù)在存儲(chǔ)過(guò)程中如果小數(shù)點(diǎn)發(fā)生移動(dòng),就稱為浮點(diǎn)數(shù);如果小數(shù)點(diǎn)不動(dòng),就稱為定點(diǎn)數(shù)。
4.2.1 小數(shù)的書(shū)寫(xiě)形式
Python中的小數(shù)有兩種書(shū)寫(xiě)形式:
(1)十進(jìn)制形式
這就是我們經(jīng)常看到的小數(shù)形式,比如101.1;234.5;0.23
(2)指數(shù)形式
Python小數(shù)點(diǎn)指數(shù)形式的寫(xiě)法為: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
5、復(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)
6、布爾類(lèi)型(bool)
布爾類(lèi)型用來(lái)表示真(對(duì))或假(錯(cuò)),比如常見(jiàn)的3>2 比較算式,這個(gè)是正確的,Python中使用True來(lái)代表;再比如2>3 比較算式,這個(gè)是錯(cuò)誤的,用False來(lái)代表。
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類(lèi)型的True值對(duì)應(yīng)整數(shù)值1,而False值對(duì)應(yīng)整數(shù)值0。
到此這篇關(guān)于Python的內(nèi)置數(shù)據(jù)類(lèi)型中的數(shù)字的文章就介紹到這了,更多相關(guān)Python內(nèi)置數(shù)據(jù)類(lèi)型數(shù)字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python 類(lèi)相關(guān)概念理解
- Python入門(mén)變量的定義及類(lèi)型理解
- python學(xué)習(xí)之新式類(lèi)和舊式類(lèi)講解
- python入門(mén)課程第四講之內(nèi)置數(shù)據(jù)類(lèi)型有哪些
- Python類(lèi)的高級(jí)函數(shù)詳解
- 一篇文章帶你了解Python中的類(lèi)