當前位置:
首頁 > 最新 > Python六大標準數據類型詳解

Python六大標準數據類型詳解

東堯愛分享

這是東堯每天一篇文章的第6天

東堯寫文章的目標:分享東堯的經驗和思考,幫你獲取物質和精神兩方面幸福。

python中有各種各樣的數據,不同的數據在python中處理需要定義不同的數據類型,例如文字類的數據需要定義為字元串。

那麼python中的數據類型有哪些呢?各數據類型之間又是如何轉換的?

本篇文章東堯將詳細為你介紹python3的數據類型及其轉換。

1

Python數據類型

Python3中的標準數據類型有六種:

Number(數字)、String(字元串)、List(列表)、Tuple(元組)、Sets(集合)、Dictionary(字典)

Number(數字)

Number類型中又包含了int(整數)、float(浮點數)、bool(布爾值)、complex(複數)四種類型。

int整數

Python可以處理任意大小的整數,當然包括負整數,在程序中的表示方法和數學上的寫法一模一樣,例如:1,100,-8080,0,等等。

float浮點數

浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的。

比如,1.23x109和12.3x108是完全相等的。浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。

但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。

bool布爾值

布爾值和布爾代數的表示完全一致,一個布爾值只有True、False兩種值,要麼是True,要麼是False。

在Python中,可以直接用True、False表示布爾值(請注意大小寫),也可以通過布爾運算計算出來:

print(True)

print(False)

print(4>5)

print(4>1)

運行結果如下:

True

False

False

True

布爾值可以用and、or和not運算。and運算是與運算,只有所有都為True,and運算結果才是True:

print(True and True)

print(True and False)

print(False and False)

print(5 > 3 and 3 > 1)

運行結果如下:

True

False

False

True

or運算是或運算,只要其中有一個為True,or運算結果就是True:

print(True or True)

print(True or False)

print(False or False)

print(5 > 3 or 3 > 1)

運行結果如下:

True

True

False

True

not運算是非運算,它是一個單目運算符,把True變成False,False變成True:

print(not True)

print(not False)

print(not 1 > 2)

運行結果如下:

False

True

True

String字元串

Python中的字元串用單引號(")或雙引號(")括起來,同時使用反斜杠()轉義特殊字元。例如:

print("abc")

print("abc")

print("I"m "OK"")

運行結果如下:

abc

abc

I"m "OK"

在這個實例中可以看到,用單雙引號將字元串括起來,得到的效果是相同的。

單引號(『)和雙引號(「)作為特殊字元想要輸出的話,用到了反斜杠()做轉義輸出。

另外,當轉義字元對某些普通字元進行轉義時有特殊的含義。

比如「
」表示換行,「 」表示製表符,字元「」本身也要轉義,所以「\」表示的字元就是「」。讓我們來看看下面這個例子:

print("\
\
")

print("我的名字是:
東堯")

運行結果如下:

我的名字是:

東堯

怎麼理解呢?我們先來看第一句代碼:print("\
\
")括弧內的內容我們可以將其分為四個部分:\ ,
,\ ,

第一、三部分\代表的是將特殊字元「」轉義輸出,第二/四部分則代表的是換行輸出。

因此輸出的結果就是 +換行+ +換行。第二句代碼很簡單,就是在一句話中加入了換行語句,便於換行輸出。

為了代碼簡化python裡面允許用r" "表示 " " 內部的字元串默認不轉義。

如果字元串內部有很多換行,用
寫在一行里不好閱讀,為了簡化,Python允許用"""..."""的格式表示多行內容:

print(r"\
\
")

print("""我的

名字

是:

東堯

""")

運行結果如下:

\
\

我的

名字

是:

東堯

2

Python數據類型的轉換

Python數據類型之間是可以進行轉換的,python數據類型的轉換,你只需要將數據類型作為函數名即可。具體的數據類型轉換方式及數據類型轉換實例如下表:

函數

描述

實例

int(x [,base])

將x(字元串或者數字)轉換為一個整數。base: 進位數,默認十進位

>>> int(3.6)

3

>>> int("12",16)

18

float(x)

將x(整數或字元串)轉換到一個浮點數

>>> float(112)

112.0

>>> float("123")

123.0

complex(real [,imag])

創建一個複數

>>>complex(1, 2)

(1 + 2j)

str(x)

將對象 x 轉換為字元串

>>>s = 123

>>> str(s)

"123"

repr(x)

將對象 x 轉換為表達式字元串

>>>s = "RUNOOB"

>>> repr(s)

""RUNOOB""

eval(str)

用來計算在字元串中的有效Python表達式,並返回一個對象

>>> n=81

>>> eval("n + 4")

85

tuple(s)

將序列 s 轉換為一個元組

>>>list1= ["Google", "Taobao", "Runoob", "Baidu"]

>>> tuple1=tuple(list1)

>>> tuple1

("Google", "Taobao", "Runoob", "Baidu")

list(s)

將序列 s 轉換為一個列表

str="Hello World"

list2=list(str)

print ("列表元素 : ", list2)

輸出結果:

列表元素 : ["H", "e", "l", "l", "o", " ", "W", "o", "r", "l", "d"]

set(s)

轉換為可變集合

>>>x = set("runoob")

>>> y = set("google")

>>> x, y

(set(["b", "r", "u", "o", "n"]), set(["e", "o", "g", "l"])) # 重複的被刪除

>>> x & y # 交集

set(["o"])

dict(d)

創建一個字典。d 必須是一個序列 (key,value)元組。

>>> dict(a="a", b="b", t="t")

{"a": "a", "b": "b", "t": "t"}

frozenset(s)

轉換為不可變集合

>>> b = frozenset("runoob")

>>> b

frozenset(["b", "r", "u", "o", "n"])

chr(x)

將一個整數轉換為一個字元。chr() 用一個範圍在 range(256)內的(就是0~255)整數作參數,返回一個對應的字元。

>>> print chr(48), chr(49), chr(97)

0 1 a

ord(x)

將一個字元轉換為它的整數值。是chr()函數的配對函數

>>>ord("a")

97

>>> ord("b")

98

hex(x)

將一個整數轉換為一個十六進位字元串

>>>hex(255)

"0xff"

>>> hex(-42)

"-0x2a"

oct(x)

將一個整數轉換為一個八進位字元串

>>>oct(10)

"012"

>>> oct(20)

"024"

根據上表的信息,我們就可以實現python數據類型之間的轉換了。希望本文對您有幫助。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

Python知識點匯總函數例子+模塊使用
Python模塊——contextlib和urllib

TAG:Python |