python總結

Python基礎教程 學習總結python

1. 導入模塊函數

  • 「模塊.函數」(優先使用)
  • import math
    math.sqrt(9)
  •  在肯定不會導入多個同名函數時,可使用 「from 模塊 import 函數」 方式
    from math import sqrt
    sqrt(9)
  • 還可使用變量來引用函數
  • foo=math.sqrt
    foo(9)   

 

2. 字符串表示 str repr工具

  • str() 輸出對用戶比較友好
  • >>> print str(10000L)
    10000
  • repr() 輸出對python解釋器比較友好,該函數獲得的字符串一般能夠用來從新得到該對象,即 obj == eval(repr(obj))
  • >>> print repr(10000L)
    10000L

3. 列表能夠修改,元組不能修改。通常來講,在幾乎全部狀況下列表均可以替代元組(例外狀況是使用元組做爲字典的鍵,由於鍵不能修改)。學習

4. 列表 extend()與鏈接操做this

  • extend() 修改了被擴展的序列。
  • >>> a=[1,2,3]
    >>> b=[4,5,6]
    >>> a.extend(b)
    >>> a
    [1,2,3,4,5,6]
  • 鏈接+操做則返回一個全新的列表,不修改原列表。
  • >>> a=[1,2,3]
    >>> b=[4,5,6]
    >>> a+b
    >>> [1,2,3,4,5,6]
    >>> a
    [1,2,3] 

5. 列表排序 sort() 和 sorted()spa

  • sort() 用於在原位置對列表進行排序。
  • >>> x=[4,6,5]
    >>> x.sort()
    >>> x
    [4,5,6] 
    >>> y=x.sort()
    >>> print y
    None
  • sorted() 不是原地操做
  • >>> x=[4,6,5]
    >>> y=sorted(x)
    >>> x
    [4,6,5]
    >>> y
    [4,5,6]

     

 6. 元組表示rest

  一個元組的值必須加個逗號code

  • >>> 42
    42
    >>> (42)
    42
    >>> 42,
    (42,) 

 7. 格式化字符串,使用%實現對象

  • >>> "%s plus %s equals %s"  % (1,2,3)
    5
    >>> phone = {'Tom':'9980'}
    >>> 'his number is %(Tom)' % phone

8. 字符串經常使用方法blog

  • find(), 查找子串
  • split(), 切割字符串
  • join(), 是split()的逆方法
  • >>> '+'.join(['1','2','3'])
    1+2+3
  • replace(), 替換全部匹配的字符串
  • translate(), 與replace()相似,只是translate()只處理單個字符,並能夠同時進行多個替換。
  • >>> from string import maketrans
    >>> table = maketrans('ts','kz')
    >>> 'this is a test'.translate(table)
    'khiz iz a kezk'
  • strip(), 去除兩側指定的字符(默認爲空格)

 9. 字典方法

  • clear(), 清空字典, 原地操做
  • copy(), 淺複製 ; deepcopy(), 深複製
  • get(), 訪問一個不存在的鍵時不會報異常,返回None
  • >>> d={}
    >>> print d['name']
    Traceback (most recent call last):
        File "<stdin>", line1, in ?
    KeyError: 'name'
    >>> print d.get('name')
    >>> None
  • items(), 返回鍵值對的列表形式; iteritems(), 返回鍵值對的迭代器對象, 使用更高效
  • keys(), 返回鍵的列表形式; iterkeys(), 返回鍵的迭代器對象

10. 序列解包 (將多個值的序列解開,放到變量的序列中)

  • 多個賦值同時進行以及交換
  • >>> x,y,z = 1,2,3
    >>> print x,y,z
    1,2,3 
    >>> x,y =y,x
    >>> print x,y,z
    2,1,3
    >>> value = 1,2,3
    >>> value
    (1,2,3)
    >>> x,y,z = value
    >>> x
    1
    >>> a,b,*rest = [1,2,3,4]
    >>> rest
    [3,4]

11. x==y 相等性(值相等); x is y 同一性(同一個對象)

  0<age<100 運算符能夠連用

  三元運算符 :a if b else c (不用引入臨時變量)

12. 迭代工具

  • zip 並行迭代

   zip能夠應付不等長的序列,當最短的序列用完後就會中止

  • >>> name = ['a','b','c']
    >>> age = [2,3]
    >>> zip(name , age)
    [('a',2),('b',3)]
  • enumerate(), 迭代序列中的對象同時獲取當前對象的索引
  • for index,string in enumerate(strings):
        if 'xxx' in string:
           strings[index] = 'find'
  • reversed() 非原地翻轉 ; reverse() 原地翻轉

13. 循環相關

  • while True/break 習語
  • 循環中的else子句

   當循環內使用break時,一般是由於找到了某物或某事發生了,但有時候想要在沒有跳出前作些事情。

   故在循環中沒有調用到break時會執行else子句。

  • for n in range(100):
        ...
        if xxx:
              ...
               break
    else:  #與for循環對齊
         ...  

14. 列表推倒式

  • >>> [x*x for x in range(10) if x %3 ==0]
    [0,9,36,81]
    >>> [(x,y) for x in range(1) for y in range(2)] #最外層使用圓括號不會獲得"元組推導式"
    [(0,0),(0,1)]

15. 使用del刪除

  • >>> x=[2]
    >>> y = x
    >>> del x
    >>> y
    [2]

     刪除x後,y並不會被刪除。del刪除的只是名稱,而不是列表自己。python中是沒有辦法刪除值的,也不須要考慮。當某個值再也不使用時,Python解釋器會負責內存的回收。

16. exec(),動態執行一個字符串的語句

  • >>> exec "print 'hello,world' "
    hello,world 

   eval(),計算以字符串形式書寫的python表達式

  • >>> eval("8+9")
    17 

 

17. 命令空間(todo)

18. 

相關文章
相關標籤/搜索