Python 部分知識點總結(一)

此篇博客只是記錄第三周未掌握或不熟悉的知識點,用來加深印象。

一、計算代碼運行時間

  1. import datetime
    start = datetime.datetime.now()
    stop = datetime.datetime.now()
    delta = (stop – start).total_seconds()

二、內存管理

  1. 編程中一般無須關心變量的存亡,也不用關心內存的管理
  2. Python使用引用計數記錄所有對象的引用數
    當對象引用數變為0,它就可以被垃圾回收GC
    計數增加:賦值給其它變量就增加引用計數,例如 x=3;y=x
    計數減少:函數運行結束時,局部變量就會就會被自動銷毀,對象引用計數減少? ? ? ? ? ? ? ? ? ? 變量被賦值給其它對象,例如 x=3;y=x;x=4

三、數字處理函數

  1. // :類似于 floor( ),整除且向下取整
    >>> 7//2? –> 3
    >>> 7//-2 –> -4
    >>> -7//2? –> -4
  2. 開方
    pow(x,y) = x**y? 比如可以開三次方
    math.sqrt( )? ?開平方

四、list

  1. list:是可變的,任何位置都可以增加或刪除數據
    queue:要么從前面,要么從后面增加或刪除數據
    鏈表:手拉手模型,而且在內存中存放的位置是散落的,但是串在一起的,適用于頻繁的插入或者取走數據
    stack:只能后進先出,摞盤子模型,適用于函數
  2. index(value,[start,[stop]])
    通過值value,從指定區間查找列表內的元素是否匹配
    匹配第一個就立即返回索引
    匹配不到,拋出異常ValueError
    時間復雜度是 O(n)
    lst.index(5)? ? ? –>? ?3
  3. count(value)
    返回列表中匹配value的次數
    隨著列表數據規模的增大,效率會逐漸下降
    時間復雜度是 O(n)
    lst.count(1)? ? –>? ?0
  4. append(object)? –> None
    返回None就意味著沒有新的列表產生,就地修改
    追加的時候,列表只占一個索引位
    時間復雜度是O(1)
  5. extend(iteratable)? –> None
    將可迭代對象的元素追加進來,就地修改
    追加的時候,是將列表中的每個元素都追加進來
  6. +? –> list
    實際上是生成了一個新的列表,存這兩個列表的和,只能用在兩個列表相加
    原列表不變
    本質上調用的是 __add__() 方法
  7. +=
    效果與 extend() 一樣
  8. *? –>list
    重復操作,將本列表元素重復 n 次,返回新列表
  9. insert(index,object)? –> None
    在指定的索引 index 處插入元素 object
    返回None就意味著沒有新的列表產生,就地修改
    如果索引 index 超越上界,尾部追加
    如果索引 index 超越下界,頭部追加
    時間復雜度是O(n)
  10. remove(value)? –> None
    從左至右查找第一個匹配 value 的值,移除該元素,返回 None
    就地修改
    時間復雜度是O(n)
  11. pop([index])? –> item
    不指定索引 index,就從列表尾部彈出一個元素,時間復雜度是O(1)
    指定索引 index,就從索引處彈出一個元素,索引超界拋出 IndexError 錯誤,時間復雜度是O(1),但是效率不行
  12. clear()? ?–> None
    清除列表所有元素,剩下一個空列表
  13. reverse() –> None
    將列表元素反轉,返回 None,就地修改
    注意和系統中的內置函數 reversed 不一樣,直接用 reversed(lst) 返回的是一個內存中存放的值
  14. sort(key=None,reverse=False)? –> None
    將列表元素進行排序,就地修改,默認升序
    reverse 為 True,反轉降序
    key 一個函數,指定 key 如何排序? lst.sort(key=functionname)
    和內建函數 sorted 有相似之處

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/93090

(0)
龐豪龐豪
上一篇 2018-03-26 20:25
下一篇 2018-03-26 20:26

相關推薦

  • 元組與字符串

    元組tuple 一個有序的元素組成的集合,不可變,用()表示,可進行索引,正索引:從左至右,從0開始;負索引:從右至左,從-1開始,正負索引不可超界,否則引發indexerror,tuple[index],index就是索引,使用中括號訪問 元組是只讀的,所以沒有增,改,刪的方法 冒泡法:屬于交換排序,兩兩比較大小,交換位置,結果分為升序和降序排列 升序:n…

    Python筆記 2018-04-01
  • 基礎語法

    基礎語法、判斷、循環

    2018-03-26
  • 函數與生成器

    函數 由若干語句組成的語句塊,函數名,參數列表構成,是組織代碼的最小單元,完成一定的功能,結構化編程對代碼的最基本的封裝,封裝的目的是為了復用 函數中沒有return,隱式會返回一個none值 定義中的參數列表成為形式參數,只是一種形式表達,簡稱形參 調用時寫的參數是實際參數,是實實在在傳入的值,簡稱實參 函數的定義,只是聲明了參數,不會執行,可以進行調用,…

    2018-04-16
  • 楊輝三角專題

    楊輝三角;二項式

    2018-04-09
  • Python文件操作

    計算機體系架構 運算器:完成各種算術運算、邏輯運算、出具傳輸等數據加工處理 控制器:控制程序的執行 CPU = 運算器 + 控制器 存儲器:用于記憶程序的數據,內存 輸入設備:將數據或程序輸入到計算機中 輸出設備:將數據或程序的處理結果展示給用戶 文件IO常用操作 open 打開 read 讀取 write 寫入 close 關閉 readline 行讀取 …

    Python筆記 2018-05-02
  • 正則表達式

    正則表達式 分類 BRE:基本正則表達式,grep,sed,vi等軟件支持,vim有擴展 ERE:擴展正則表達式,egrep,grep -E ,sed ?r等 PCRE:幾乎所有的高級語言都是PCRE的方言或則變種, 基本語法 元字符metacharater . ?匹配除換行符外任意一個字符 [abc]字符集合,只能表示一個字符的位置,匹配所包含的任意一個字…

    Python筆記 2018-05-07
欧美性久久久久