2017/4/23學習python筆記

Python  的 str()函數和repr()函數都是將任意對象轉化成一個字符串來輸出,但是repr比較友好一些。一般情況先eval函數可以將repr函數轉化成的字符串再恢復成原來的對象,但是str所產生的字符串就不能被恢復。

關於eval函數功能可以說是十分強大,官方解釋爲:將字符串str當成有效的表達式來求值並返回計算結果。可以直接把傳入的字符串翻譯成可以解釋的形式然後直接得出值,所以可以用來字符串轉int,也可以用來一串string表達式轉成一個運算結果。

 

 

然後關於marshal.load產生的對象,可以通過uncompyle2包裏的uncompyle函數直接解開,uncompyle的參數有三個,第一個是python版本,第二個是要解密的被marshal.loads()的對象,第三個是寫方式打開的文件。然後最後源代碼會被輸出到那個文件當中。

 

 

Int()函數,能夠將一個字符串轉換成十進制數字int(“num”,int format)第一個參數是要轉化的字符串,第二個參數是num的進制,如果num是16進制就將把format設置爲16,輸出的結果是對應的十進制的數值,注意,只能輸出十進制的額數值。

 

 

List,tuple,

List類型感覺最貼近於我們學過的其他語言的數組,但是List特殊的地方在於它裏面的元素可以是任意的元素,而且不一定是同一種元素。訪問的時候可以直接按照元素的位置,比如tmplist[0],tmplist[1],List還支持倒序訪問,tmplist[-1]就是指的倒數第一個元素,以此類推。

List的insert(int pos,obj)在某個位置插入,其餘後退

pop()刪除最後一個

pop(int pos )刪除pos位置的對象

append(obj)在list末尾加入元素

tuple和list差不多,定義時用的是小括號,爲了和表示運算優先級的小括號區別開,當tuple元素裏只有一個元素時,要在元素後面加一個逗號表示這是一個tuple。Tuple另外一個重要的地方是它定義了以後是不可以修改的。

而要創建可以修改的tuple,可以把tuple的某個對象設置爲List,這樣,List的指針本身是不變的,改變list的內容,tumple就不報錯了。

 

Dict,set類型

 

       Dict類型是爲了方便查找而引出的:

其中元素定義的格式是key:value,用的是大括號。訪問的時候是d[key]也就是說,dict是按照key來進行訪問的,而不是索引,雖然用的都是[]。

       Dict的存儲是無序的,而且查找速度比list要快,但是佔據的內存也比較大。關鍵一點是dict的key一定是不可變的。

       Dict的更新可以直接用d[key]=value。

       Dict的遍歷用for key in d:

 

Set類型感覺就是沒有key的dict,他的內容是不可變的,定義的時候呢是通過

Name=set([a,b,c])傳入一個list來實現的。同時set裏面不會有重複元素,如果傳入的list裏面有,會自動去除。它內部的存儲順序可就不是像list那樣有序了,遍歷的時候,,還是用for x in s:來遍歷

       增加用add,刪除用remove

 

 

下面說一下切片的用法所謂切片就是把List或者tuple切成若干個小的List或者tuple語法是L[a:b:c]其中abc是三個整形,表示從第a個開始,取到第b-1個之前,每c個取一個缺省值分別是0,len(L),1。當然也支持a,b是負數,就相當於逆向訪問了從倒數第a個開始取到倒數第b個,還是不包括包括倒數第b個。

還有字符串切片,格式是字符串加上[a:b:c]

迭代的enmurate函數可以獲得索引和對象內容,for index,name in enmurate(L)即可。

Dict 的item函數能夠把其轉化爲一個tuple爲key和value的tuple的List

for key ,values in d.items()。

而values函數能夠把其轉化成所有value的List

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章