Python基本數據類型詳細介紹
1、空(None)
表示該值是一個空對象,空值是Python里一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。
2、布爾類型(Boolean)
在Python中,None、任何數值類型中的0、空字符串“”、空元組()、空列表[]、空字典{}都被當作False,還有自定義類型,如果實現了__nonzero__()或__len__()方法且方法返回0或False,則其實例也被當作False,其他對象均為True
布爾值和布爾代數的表示完全一致,一個布爾值只有True、False兩種值,要么是True,要么是False,在Python中,可以直接用True、False表示布爾值(請注意大小寫),也可以通過布爾運算計算出來:
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
布爾值還可以用and、or和not運算。
1).and運算是與運算,只有所有都為True,and運算結果才是True:
>>> True and True
True
>>> True and False
False
>>> False and False
False
2).or運算是或運算,只要其中有一個為True,or運算結果就是True:
>>> True or True
True
>>> True or False
True
>>> False or False
False
3).not運算是非運算,它是一個單目運算符,把True變成False,False變成True:
False
>>> not False
True
4).布爾值經常用在條件判斷中,比如:
if age >= 18:
print 'adult'
else:
print 'teenager'
3、整型(Int)
在Python內部對整數的處理分為普通整數和長整數,普通整數長度為機器位長,通常都是32位,超過這個范圍的整數就自動當長整數處理,而長整數的范圍幾乎完全沒限制
Python可以處理任意大小的整數,當然包括負整數,在程序中的表示方法和數學上的寫法一模一樣,例如:1,100,-8080,0,等等。
4、浮點型(Float)
Python的浮點數就是數學中的小數,類似C語言中的double。
在運算中,整數與浮點數運算的結果是浮點數
浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,比如,1.23x109和12.3x108是相等的。浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對于很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。
整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的(除法難道也是精確的?是的?。↑c數運算則可能會有四舍五入的誤差。
5、字符串(String)
Python字符串即可以用單引號也可以用雙引號括起來,甚至還可以用三引號括起來
字符串是以''或""括起來的任意文本,比如'abc',"xyz"等等。請注意,''或""本身只是一種表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c這3個字符。如果'本身也是一個字符,那就可以用""括起來,比如"I'm OK"包含的字符是I,',m,空格,O,K這6個字符。
如果字符串內部既包含'又包含"怎么辦?可以用轉義字符\來標識,比如:
表示的字符串內容是:
轉義字符\可以轉義很多字符,比如\n表示換行,\t表示制表符,字符\本身也要轉義,所以\\表示的字符就是\,可以在Python的交互式命令行用print打印字符串看看:
I'm ok.
>>> print 'I\'m learning\nPython.'
I'm learning
Python.
>>> print '\\\n\\'
\
\
如果字符串里面有很多字符都需要轉義,就需要加很多\,為了簡化,Python還允許用r''表示''內部的字符串默認不轉義,可以自己試試:
\ \
>>> print r'\\\t\\'
\\\t\\
如果字符串內部有很多換行,用\n寫在一行里不好閱讀,為了簡化,Python允許用'''...'''的格式表示多行內容,可以自己試試:
... line2
... line3'''
line1
line2
line3
上面是在交互式命令行內輸入,如果寫成程序,就是:
line2
line3'''
多行字符串'''...'''還可以在前面加上r使用,請自行測試。
6、列表(List)
用符號[]表示列表,中間的元素可以是任何類型,用逗號分隔。list類似C語言中的數組,用于順序存儲結構
內建函數:
extend(L)追加一個列表,等價于+=
insert(i,x)在位置i插入x,其余元素向后推,如果i大于列表長度,就在最后添加,如果i小于0,就在最開始添加
remove(x)刪除第一個值為x的元素,如果不存在會拋出異常
reverse()反轉序列
pop([i])返回并刪除位置為i的元素,i默認為最后一個元素
index(x)返回x在列表中第一次出現的位置,不存在則拋出異常
count(x)返回x出現的次數
sort()排序
len(List)返回List的長度
del list[i]刪除列表list中指定的第i+1個變量
切片
切片指的是抽取序列的一部分,其形式為:list[start:end:step]。其抽取的規(guī)則是:一般默認的步長為1,但也可自定義。
7、元組(Tuple)
元組是和列表相似的數據結構,但它一旦初始化就不能更改,速度比list快,同時tuple不提供動態(tài)內存管理的功能,需理解一下規(guī)則:
tuple可以用下標返回一個元素或子tuple
表示只含有一個元素的tuple的方法是:(d,)后面有個逗號,用來和單獨的變量相區(qū)分
8、集合(Set)
集合是無序的,不重復的元素集,類似數學中的集合,可進行邏輯運算和算術運算
9、字典(Dict)
字典是一種無序存儲結構,包括關鍵字(key)和關鍵字對應的值(value)。字典的格式為:dictionary = {key:value}。關鍵字為不可變類型,如字符串、整數、只包含不可變對象的元組,列表等不可作為關鍵字。如果列表中存在關鍵字對,可以用dict()直接構造字典
相關文章
淺談Keras中shuffle和validation_split的順序
這篇文章主要介紹了淺談Keras中shuffle和validation_split的順序,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06keras的backend 設置 tensorflow,theano操作
這篇文章主要介紹了keras的backend 設置 tensorflow,theano操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06