首頁  >  文章  >  後端開發  >  怒學Python——第二篇——類型與運算

怒學Python——第二篇——類型與運算

黄舟
黄舟原創
2016-12-20 16:55:471595瀏覽

Python支援5種資料類型,包括數字(numbers)、字串(string)、列表(list)、元組(tuple)和字典(dictionary)。作為一門動態類型語言,不用去宣告一個標示符的類型,使用的時候是什麼類型會自動判定。

對於定義好的變量,若不使用該變量,可以用del刪除來釋放佔有的資源,如

var = 10del var

Python的數字(numbers):支持int、long、float和complex,比較簡單不給範例。

Python的字串(string):如前面所說的可以被多種引號定義,支援[p](獲得p位置的字元)、[l:r](獲得從l開始到r截止的字串)、*t(獲得t個該字串連結在一起的字串)以及+s(取得與s連結後的字串)方法(methods,為什麼用方法呢,與ruby有關,所有物件的.methods可以顯示所有能執行的操作,所以我也開始把一個物件能夠執行的操作叫做方法),如下範例

s = 'This is a test case.'PRint s[0]             #輸出s的第一個字元' T'print s[0:4]           #輸出s的第一個到第四個字元組成的字串'This'print s*2              #輸出兩個s 連結的新字串 字串s + ' Good! '     #輸出s與' Good!'連結後的字串

Python的列表(list):用[]來定義,用起來像C++的容器vector,只不過這個容器可以裝不同類型的值,同時可以嵌套定義,一個列表裡麵包含另一個列表,方法與string的類似,如下給出例子

l = ['wyp', 1, 3.14, [2, 'cc']]print l                #輸出整個整個lprint#輸出整個整個lprint l[0]             #輸出l的第一個元素'wyp'print l[3][0]          #輸出l的第四個元素的第一個元素2print l[0:3]    #輸出l的第四個元素的第一個元素2print l[0:3]       輸出l的第四個元素的第一個元素2print l[0:3]        元素到第三個元素print l*2              #輸出兩個l連結在一起的清單print l+['.']          #輸出l與清單['.']連結在一起的清單

的元組tuple):用()來定義,方法與列表相似,唯一差別是不能二次賦值,所以不給例子。

Python的字典(dictionary):用{}來定義,定義方法像json,用起來像C++的容器map,方法在下給出示例

d = {1:'wyp', 'two':'is ', 3.0:'Coder'}
d['four'] = 'like'd[5] = 'farmer'print d          #輸出整個字典dprint d[1]       #輸出鍵為1的值'wyp'print d .keys()   #輸出所有的鍵print d.values() #輸出所有的值

Python的型別轉換:目測用得不多,下面給例

int(x)       #把x轉成intx型,直接取整,不管後面的尾數long(x)        #把x轉成long型,直接取整,不管後面的尾數float(x)       #把x轉成float型complex(x,y)   #創建一個一個x為實部,y為虛部的複數chr(x)         #轉成對應ascii碼x的字元ord(c)         #轉成c對應的ascii碼unichr(x)   將字元改為)         #把x轉成它的十六進位的字串oct(x)         #把x轉成它的八進位的字串str(x)         #把x轉換成字串eval(str # 將字串表達式str的值算出來tuple(s)       #把序列型結構的s轉成元組list(s)        #把序列型結構的s轉成列表dict(s)        #將序列型結構且每個元素都是二元組的s轉成字典

-------------------------------------- -------------------------------------------------- -------------------------------------------------- -----

------------------------------------------- -------------------------------------------------- --------------------------------------------------

------------------------------------------------ -------------------------------------------------- ---------------------------------------------

Python的運算方法與C++非常相似,均分為算術運算、比較運算、邏輯運算和位元運算,在此基礎上加入了成員運算和身分運算,下面給出和C++有出入的範例

算術運算:多出來的運算子有**和//,因此多出了**=和//=給出範例

a ** b  #即a^b,a的b次方a // b  #先a/b然後再直接取整

比較運算:多出來的運算子是"",與"!="功能一樣,所以就不給範例

邏輯運算:這裡有點不同,邏輯運算全部用英文表示了,就是與(and)、或(or)和非(not),用法一樣就不給出示例了

位運算:與C++相同

成員運算:運算子為in和not in,以in為例如果一個元素在序列裡就是true,否則false,另外一個就是取反,下面給出範例

t = [1, 2, 3, 4] 1 in t      #返回true1 not in t  #返回false0 in t      #返回false0 not in t  #返回true

身份運算:運算符為is和notis,即判斷兩個單元,是否為同一個單元這裡發現一個python的小細節,它的0~256這些整數全部都是已經存放在內存中的,而其他的都是在定義的時候直接分配新內存,下面給出示例

a = -1b = -1a is b           #值為false,這裡發現-1不是python預先存放在內存中的a += 1b += 1while (a is b):  #在256之前都為true
   a + 1  1    print str(a) + ', ' + str(b) + 'n'

 以上就是怒學Python——第二篇——類型與運算的內容,更多相關內容請關注PHP中文網( www.php.cn)! 


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn