1. 程式人生 > >Python從白雞到大佬之旅(2)

Python從白雞到大佬之旅(2)

本博文為系列性博文,如果是像我一樣的小白起步的話,強烈建議從0看起  

Python物件型別及其運算     Python程式中儲存的所有資料都是圍繞物件這個概念展開的         程式中儲存的所有資料都是物件         每個物件都有一個身份,一個型別和一個值             例如,school="MoGe Linux"會以“MoGe Linux”建立一個字元物件,其身份是指向它在記憶體中所處位置的指標(其在記憶體中的地址),而school就是引用這個具體位置的名稱         物件的型別也就是物件的類別,用於描述物件的內部表示及它支援的方法和操作         建立特定型別的物件時,有時也將該物件稱為該型別的例項         例項被建立後,其省份和型別就不可改變             如果物件值是可修改的,則稱為可變物件             如果物件值是不可修改的,則稱為不可變物件         如果某個物件包含對其它物件的引用,則將其稱為容器;         大多數物件都擁有大量特有的資料屬性和方法             屬性:與物件相關和值             方法:被呼叫時將在物件上執行某些操作的函式             使用點(.)運算子可以訪問屬性和方法     Python內建函式id()可返回一個物件的身份,即該物件在記憶體中的位置         is運算子用於比較兩個物件的身份         type()用於返回一個物件的型別         物件型別本身也是一個物件,稱為物件的類             該物件的定義是唯一的,且對於某型別的所有例項都是相同的             所有型別物件都是一個指定的名稱,可用於執行型別檢查,如list,dict             if a is b:                 statements             if a == b                 statements             if type(a) is type(b):                 statements                  Python核心資料型別及型別顯示轉換     核心資料型別:         數字:int,long,float,complex,bool         字元: str,unicode         列表:list         字典:dict         元組:tuple         檔案:file         其它型別:集合(set),frozenset,類型別,None     其它檔案類工具:pipes,fifos,sockets     型別轉換:         str(),repr()或format(),將非字元型資料轉換為字元;         int():轉為整數         float():         list(s):將字串s轉為列表         tuple(s):將字串s轉為元組         set(s):將字串s轉為集合         frozenset(s):將字典s轉換為不可變集合         dict(d);建立字典    其中d必須是(key,value)的元組序列;         chr(x):將整數轉為字元         ord(x):將字元轉換為整數值         hex(x):將整數轉換為16進位制字串         bin(x):         oct(x):     數字型別:         Python的數字字面量:布林型,整數,浮點數,複數;             True:    1             False:    0     序列表示索引為非負整數的有序物件集合,包括字串,列表和元組         字串是字元的         列表和元組是任意python物件的序列     字元和元組屬於不可變序列,而列表則支援插入,刪除和替換元素     所有序列都支援迭代     序列型別:         字元型別:             字串字面量:把文字放入單引號,雙引號或三引號中;         如果要使用unicode編碼,則在字元之前使用字元u進行標識,如u"magedu"             文件字串,模組,類或函式的第一條語句是一個字元的話,該字串就成為文件字串,可以使用_doc_屬性引用;         運算子             s[i]:索引運算子             s[i:j]為切片運算子,s[i:j:stride]為擴充套件切片運算子             min(s)和max(s)只適用於能夠對元素排序的序列             sum(s)只使用於陣列序列         支援運算:             索引,切片,min(),len()等         支援操作:             物件的自有的方法;     列表:         容器型別:             任意物件的有序集合,通過索引訪問其中的元素,可變物件,             異構,任意巢狀         支援在原處修改;             修改指定的索引元素,修改指定的分片,刪除語句,內建方法         11 + 12:合併兩個列表,返回一個新的列表,不會修改源列表         11 + N:把11重複N次,返回一個新列表;         in:成員關係判斷字元             用法: item in container         not in :obj not in container         列表解析:[]         列表複製方式:             l1 - [1,2,3,4]             12 = l1                          import copy             l2 = copy.deepcopy(l1)                          l2 = l1[:]     元組:         表示式符號:()         容器型別             任意物件的有序集合,通過索引訪問其中的元素,不可變物件,長度固定             異構,任意巢狀         常見操作:             ()             (1,)             (1,2)             t1 + t2:             t1 + N:             in:             not in:         雖然元組本省不可變,但如果元組內嵌套了可變型別的元素,那麼此類元素的修改不會返回新元組     字典:dict         字典在其它程式語言中又稱作關聯陣列或散列表;         通過鍵實現元素存取;無序集合;可變型別容器,長度可變,異構,巢狀;         {key1:value1,key2:value2,...}         {}:空字典         {'x':32,'y':{1,2,3}}         字典複製:d2 = d1.copy()         d1.iteritems:返回一個迭代器物件