溫馨提示×

溫馨提示×

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

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

Python中的數(shù)據(jù)類型的相關(guān)操作介紹

發(fā)布時間:2021-09-04 14:58:31 來源:億速云 閱讀:138 作者:chen 欄目:編程語言

本篇內(nèi)容主要講解“Python中的數(shù)據(jù)類型的相關(guān)操作介紹”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python中的數(shù)據(jù)類型的相關(guān)操作介紹”吧!

1-1 Python中的數(shù)據(jù)類型

一、整數(shù)

Python可以處理任意大小的整數(shù),當然包括負整數(shù)。

①普通整數(shù):寫法一樣,例如:1,100,-8080,0。

②十六進制:用0x前綴和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。

二、浮點數(shù)

①普通浮點數(shù):直接用數(shù)學寫法,如1.23,3.14,-9.01,等等。

②科學計數(shù)法:把10用e替代,即:1.23x10^9記為1.23e9或12.3e8,0.000012可以寫成1.2e-5

注:整數(shù)和浮點數(shù)在計算機內(nèi)部存儲的方式是不同的,整數(shù)運算永遠是精確的(除法難道也是精確的?是的!),而浮點數(shù)運算則可能會有四舍五入的誤差。

三、字符串

①字符串是以''或""括起來的任意文本。

比如'abc',"xyz"等等。字符串'abc'只有a,b,c這3個字符。

四、布爾值

①在Python中,可以直接用True、False表示布爾值(請注意大小寫)

②通過布爾運算計算出來。

③布爾值可以用and、or和not運算。

and運算是與運算,只有所有都為 True,and運算結(jié)果才是 True。

or運算是或運算,只要其中有一個為 True,or 運算結(jié)果就是 True。

not運算是非運算,它是一個單目運算符,把 True 變成 False,F(xiàn)alse 變成 True。

五、空值

空值是Python里一個特殊的值,用None表示。

None不能理解為0,因為0是有意義的,而None是一個特殊的空值。

1-2:print輸出

①print語句可以向屏幕上輸出指定的文字。比如輸出'hello, world'

②print語句也可以跟上多個字符串,用逗號“,”隔開,遇到逗號“,”會輸出一個空格,這樣就可以連成一串輸出:

③print也可以打印整數(shù),或者計算結(jié)果

1-3 變量

①變量不僅可以是數(shù)字,還可以是任意數(shù)據(jù)類型。

②變量名必須是大小寫英文、數(shù)字和下劃線(_)的組合,且不能用數(shù)字開頭

③在Python中,等號=是賦值語句,可以把任意數(shù)據(jù)類型賦值給變量,同一個變量可以反復(fù)賦值,而且可以是不同類型的變量(動態(tài)語言)。

1-4 字符串

如果字符串包含",我們就可以用' '括起來表示

對字符串的某些特殊字符進行“轉(zhuǎn)義”,Python字符串用\進行轉(zhuǎn)義:

\’表示‘
\”表示 ”
\n 表示換行
\t 表示一個制表符
\\ 表示 \ 字符本身

1-5 輸出字符串

①若一個字符串包含很多需要轉(zhuǎn)義的字符,在字符串前面加個前綴 r ,表示這是一個 raw 字符串,里面的字符就不需要轉(zhuǎn)義了

②表示多行字符串,可以用'''...'''表示

③用r'''...'''把多行字符串變成raw字符串

④輸出中文:在第一行添加注釋:# -*- coding: utf-8 -*-,然后輸出時用u'...',其余同上

1-6 整數(shù)與浮點數(shù)的運算

整數(shù)運算結(jié)果仍然是整數(shù),浮點數(shù)運算結(jié)果仍然是浮點數(shù),但是整數(shù)和浮點數(shù)混合運算的結(jié)果就變成浮點數(shù)了。

1-7 布爾運算

and 和 or 運算的一條重要法則:短路計算。

① 在計算 a and b 時,如果 a 是 False,則根據(jù)與運算法則,整個結(jié)果必定為 False,因此返回 a;如果 a 是 True,則整個計算結(jié)果必定取決與 b,因此返回 b。

②在計算 a or b 時,如果 a 是 True,則根據(jù)或運算法則,整個計算結(jié)果必定為 True,因此返回 a;如果 a 是 False,則整個計算結(jié)果必定取決于 b,因此返回 b。

第二章 List、tuple、dict、set

dict查找速度快,但占用內(nèi)存大;list隨著元素的增多查找速度逐漸下降,但占用內(nèi)存小

List:有序,可變

Tuple:有序,不可變

Dict:無序,key不能重復(fù)、不可變(所以list就不能作為key)

Set:無序,元素不重復(fù)、不可修改但可以增加和刪除

2-1 List

list是一種有序的集合,元素順序排列,可以隨時添加和刪除其中的元素。list中包含的元素并不要求都必須是同一種數(shù)據(jù)類型,我們完全可以在list中包含各種數(shù)據(jù)。

創(chuàng)建L = ['Michael', 100, True]。

查:正序訪問例:L[0]、L[1]...由于list是一個有序集合,所以按照索引來訪問list中的指定元素。使用索引時,千萬注意不要越界。

倒序訪問例:L[-1]、L[-2]...倒數(shù)第一用 -1 表示,倒數(shù)第二用 -2 表示...使用倒序索引時,也要注意不要越界。

增:①L.append(元素) 方法,把新同學追加到 list 的末尾

②L.insert(n,元素)方法,它接受兩個參數(shù),第一個參數(shù)是索引號,第二個參數(shù)是待添加的新元素。原來索引為 n 的元素,以及后面的所有元素,都自動向后移動一位。

刪:①L.pop()方法總是刪掉list的最后一個元素,并且它還返回這個元素

②L.pop(n)方法刪掉list的索引為n的元素,并且它還返回這個元素

改:對list中的某一個索引賦值,就可以直接用新的元素替換掉原來的元素,list包含的元素個數(shù)保持不變。

2-2 Tuple

tuple是另一種有序的列表,tuple 和 list 非常類似,但是,tuple創(chuàng)建完畢就不能修改了。創(chuàng)建tuple和創(chuàng)建list唯一不同之處是用( )替代了[ ]。

創(chuàng)建: t = ('Adam', 'Lisa', 'Bart');

查: t[0],t[-1]索引方式訪問元素;

不能增、刪、改。

可變的tuple:

t = ('a', 'b', ['A', 'B'])
L = t[2 
L[0] = 'X'
L[1] = 'Y'
輸出t:('a', 'b', ['X', 'Y'])

2-3 dict

花括號 {} 表示這是一個dict,然后按照 key: value, 加上逗號寫出來即可。最后一個 key: value 的逗號可以省略。

dict的第一個特點是查找速度快,無論dict有10個元素還是10萬個元素,查找速度都一樣。dict的缺點是占用內(nèi)存大,還會浪費很多內(nèi)容,list正好相反,占用內(nèi)存小,但是查找速度慢。

在一個dict中,key不能重復(fù);key-value序?qū)κ菦]有順序的,作為 key 的元素必須不可變

創(chuàng)建:{key: value,}

d={
 '123': [1, 2, 3], # key 是 str,value是list
 123: '123', # key 是 int,value 是 str
 ('a', 'b'): True # key 是 tuple,并且tuple的每個元素都是不可變對象,value是 boolean
}

查:①dict就是通過 d[key]來查找 value。但是要先判斷 key 是否存在,用if 'Paul' in d:

②使用dict本身提供的一個 get 方法,在Key不存在的時候,返回None,用print d.get('Paul')

None

③dict 對象有一個 values() 方法,這個方法把dict轉(zhuǎn)換成一個包含所有value的list,這樣,我們迭代的就是 dict的每一個 value:d.values()

④dict除了values()方法外,還有一個 itervalues() 方法,用 itervalues() 方法替代 values() 方法,迭代效果完全一樣,但是itervalues() 方法不會把dict轉(zhuǎn)換成一個包含所有value的list,它會在迭代過程中依次從 dict 中取出 value,所以 itervalues() 方法比 values() 方法節(jié)省了生成 list 所需的內(nèi)存。

⑤同時迭代key和value:

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
print d.items()
輸出的是:[('Lisa', 85), ('Adam', 95), ('Bart', 59)]

可以看到,items() 方法把dict對象轉(zhuǎn)換成了包含tuple的list,我們對這個list進行迭代,就可以同時獲得key和value。和 values() 有一個 itervalues() 類似, items() 也有一個對應(yīng)的 iteritems(),iteritems() 不把dict轉(zhuǎn)換成list,而是在迭代過程中不斷給出 tuple,所以, iteritems() 不占用額外的內(nèi)存。因此我們就可以:

for k, v in d.iteritems():
 print k,':',v

輸出的是:

Lisa : 85
Adam : 95
Bart : 59
增:d[key]=value
遍歷:for key in d: print key,d[key]

2-4 set

set 持有一系列元素,這一點和 list 很像,但是set的元素沒有重復(fù),而且是無序的,且不能修改。這點和 dict 的 key很像。當我們傳入包含重復(fù)元素的 list ,他會自動去掉重復(fù)的元素。

創(chuàng)建:調(diào)用 set() 并傳入一個 list,list的元素將作為set的元素;

例:s = set(['A', 'B', 'C'])

查:由于set存儲的是無序集合,所以我們沒法通過索引來訪問。訪問 set中的某個元素實際上就是判斷一個元素是否在set中。例:print 'A' in s 輸出:True

遍歷:for name in s: print name

增:s.add(元素),若元素已在set中不會報錯

刪:s.remove(元素),若元素不在set中會報錯,所以需要先判斷if 元素 in s:

到此,相信大家對“Python中的數(shù)據(jù)類型的相關(guān)操作介紹”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

向AI問一下細節(jié)

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

AI