Python支持5種數(shù)據(jù)類型,包括數(shù)字(numbers)、字符串(string)、列表(list)、元組(tuple)和字典(dictionary)。作為一門(mén)動(dòng)態(tài)類型語(yǔ)言,不用去聲明一個(gè)標(biāo)示符的類型,使用的時(shí)候是什么類型會(huì)自動(dòng)判定。
對(duì)于定義好的變量,若不使用該變量,可以用del刪除來(lái)釋放占有的資源,如
var = 10del varPython的數(shù)字(numbers):支持int、long、float和complex,比較簡(jiǎn)單不給出示例。
Python的字符串(string):如前面所說(shuō)的可以被多種引號(hào)定義,支持[p](獲得p位置的字符)、[l:r](獲得從l開(kāi)始到r截止的字符串)、*t(獲得t個(gè)該字符串鏈接在一起的字符串)以及+s(獲得與s鏈接后的字符串)方法(methods,為什么用方法呢,與ruby有關(guān),所有對(duì)象的.methods可以顯示所有能執(zhí)行的操作,所以我也開(kāi)始把一個(gè)對(duì)象能夠執(zhí)行的操作叫做方法),如下示例
s = 'This is a test case.'PRint s[0] #輸出s的第一個(gè)字符'T'print s[0:4] #輸出s的第一個(gè)到第四個(gè)字符組成的字符串'This'print s*2 #輸出兩個(gè)s字符串鏈接的新字符串print s + ' Good!' #輸出s與' Good!'鏈接后的字符串
Python的列表(list):用[]來(lái)定義,用起來(lái)像C++的容器vector,只不過(guò)這個(gè)容器可以裝不同類型的值,同時(shí)可以嵌套定義,一個(gè)列表里面包含另一個(gè)列表,方法與string的類似,如下給出示例
l = ['wyp', 1, 3.14, [2, 'cc']]print l #輸出整個(gè)lprint l[0] #輸出l的第一個(gè)元素'wyp'print l[3][0] #輸出l的第四個(gè)元素的第一個(gè)元素2print l[0:3] #輸出l的第一個(gè)元素到第三個(gè)元素print l*2 #輸出兩個(gè)l鏈接在一起的列表print l+['.'] #輸出l與列表['.']鏈接在一起的列表
Python的元組(tuple):用()來(lái)定義,方法與列表相似,唯一區(qū)別是不能二次賦值,所以不給出示例。
Python的字典(dictionary):用{}來(lái)定義,定義方法像json,用起來(lái)像C++的容器map,方法在下給出示例
d = {1:'wyp', 'two':'is', 3.0:'Coder'}d['four'] = 'like'd[5] = 'farmer'print d #輸出整個(gè)字典dprint d[1] #輸出鍵為1的值'wyp'print d.keys() #輸出所有的鍵print d.values() #輸出所有的值Python的類型轉(zhuǎn)換:目測(cè)用得不多,下面給出示例
int(x) #把x轉(zhuǎn)成int型,直接取整,不管后面的尾數(shù)long(x) #把x轉(zhuǎn)成long型,直接取整,不管后面的尾數(shù)float(x) #把x轉(zhuǎn)成float型complex(x,y) #創(chuàng)建一個(gè)x為實(shí)部,y為虛部的復(fù)數(shù)chr(x) #轉(zhuǎn)成對(duì)應(yīng)ascii碼x的字符ord(c) #轉(zhuǎn)成c對(duì)應(yīng)的ascii碼unichr(x) #把x轉(zhuǎn)成unicode字符hex(x) #把x轉(zhuǎn)成它的十六進(jìn)制的字符串oct(x) #把x轉(zhuǎn)成它的八進(jìn)制的字符串str(x) #把x轉(zhuǎn)換為字符串eval(str) #把一個(gè)字符串表達(dá)式str的值算出來(lái)tuple(s) #把序列型結(jié)構(gòu)的s轉(zhuǎn)成元組list(s) #把序列型結(jié)構(gòu)的s轉(zhuǎn)成列表dict(s) #把序列型結(jié)構(gòu)且每個(gè)元素都是二元組的s轉(zhuǎn)成字典
-----------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------
Python的運(yùn)算方法與C++非常相似,均分為算術(shù)運(yùn)算、比較運(yùn)算、邏輯運(yùn)算和位運(yùn)算,在此基礎(chǔ)上加入了成員運(yùn)算和身份運(yùn)算,下面給出和C++有出入的示例
算術(shù)運(yùn)算:多出來(lái)的運(yùn)算符有**和//,因此多出了**=和//=給出示例
a ** b #即a^b,a的b次方a // b #先a/b然后再直接取整
比較運(yùn)算:多出來(lái)的運(yùn)算符是"<>",與"!="功能一樣,所以就不給出示例
邏輯運(yùn)算:這里有點(diǎn)不同,邏輯運(yùn)算全部用英文表示了,就是與(and)、或(or)和非(not),用法一樣就不給出示例了
位運(yùn)算:與C++相同
成員運(yùn)算:運(yùn)算符為in和not in,以in為例如果一個(gè)元素在序列里就是true,否則false,另外一個(gè)就是取反,下面給出示例
t = [1, 2, 3, 4]1 in t #返回true1 not in t #返回false0 in t #返回false0 not in t #返回true
身份運(yùn)算:運(yùn)算符為is和not is,即判斷兩個(gè)變量是否為同一個(gè)存儲(chǔ)單元,在這里發(fā)現(xiàn)一個(gè)python的小細(xì)節(jié),它的0~256這些整數(shù)全部都是已經(jīng)存放在內(nèi)存中的,而其他的都是在定義的時(shí)候直接分配新內(nèi)存,下面給出示例
a = -1b = -1a is b #值為false,這里發(fā)現(xiàn)-1不是python預(yù)先存放在內(nèi)存中的a += 1b += 1while (a is b): #在256之前都為true a += 1 b += 1 print str(a) + ', ' + str(b) + '/n'
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注