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