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
下一篇 2018-03-26

相關推薦

  • 楊輝三角專題

    楊輝三角;二項式

    2018-04-09
  • Python第十四周網絡知識和數據庫知識總結

    高性能集群Linux virtual server、Nginx、高可用性集群keepalived

    Python筆記 2018-06-10
  • Python內置數據結構——列表

    知識框架圖 學習筆記 數據結構分類 數值 int、float、complex、bool都是class int:長整型,沒有上限,取決于內存區域大小 float:支持十進制和科學計數法,僅支持雙精度 complex:復數,有實數和虛數部分 bool:int的子類,True、False對應1、0,可以和整數直接運算 序列對象 字符串str 列表list 元組tu…

    2018-03-26
  • Python第三周小結

    經過了三周的學習,我們已經基本完成了Python基礎數據結構的學習,包括列表,字符串,元組,bytes, bytearray, set, 字典等。為了更好的理解和熟練使用這些基本的數據結構,我將它們各自的特點分別總結 并做成了表格,希望能夠幫助我們更好的理解的同時,熟練掌握這些數據結構。    

    2018-04-10
  • 文件IO常用操作

    io模塊 StringIO BytesIO 類
    pathlib模塊 路徑操作 3.4版本開始
    os模塊 更改權限、顯示信息 3.4版本之前路徑操作
    shuril 模塊(高級文件操作
    csv 文件
    configparser模塊 ini文件處理

    2018-05-02
  • Ipython封裝解構

    IPython Shell命令 !command 執行shell命令 !ls -l , !touch a.txt file = !ls -l | grep py 魔術方法 使用%開頭的,IPython內置的特殊方法 %magic 格式 %開頭是line magic %% 開頭是cell magic,notebook的cell %alias 定義一個系統命令的…

    2018-04-09
欧美性久久久久