python的一些基礎知識

1、from __future__ import division  執行後的結果是:運算符/嚴格執行true除法(如實計算),運算符//嚴格執行floor除法(不大於結果的最大整數值)
2、** 是求冪運算符號: 3**4 結果是12
3、運算符號優先級由高到低是
    () -- ** -- */ //% -- +-
如果同時有多個 , ** 會是從右至左的順序求值 , 其餘都是從左至右的求值
4、字符串類型屬於python的內建數據類型
5、三引號字符串中, 單或雙引號不必添加轉義字符,且可以跨多行
6、print 參數簡記
    %d             整數
    %8d            8位整數,右對齊
    %-8d           8位整數,左對齊
    %.8d           8位整數, 不足則以0補充
    %x             16進製表示
    %f             float
    %.5f           5位小數float
    %e             科學計數法
    %s             字符串
    %30s           佔位30位 ,右對齊
    %-30s          佔位30位 ,左對齊
    %.15s          截取左邊開始15個字符
    %5.2s          截取字符串佔5位, 截取最前2個字符,右對齊
    %-5.2s         截取字符串佔5位, 截取最前2個字符,左對齊
7、if結構包括if,測試條件和一個冒號(:),主體部分是採用縮排形式
8、python對語法的評估取決於空距,建議將3個空格設置成一個縮進級別
9、3種控制結構便可以寫出所有程序:順序結構,選擇結構,重複結構
10、流程控制時要適當的運用“哨兵值”
11、range返回start到end-1的一個序列
    range(3,10,2)
    start -- 3
    end-1 -- 9
    2是自增值
>>> range(0,10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(3,10,2)
[3, 5, 7, 9]
12、條件1 and 條件2
條件1如果爲假,上述表達式將立刻停止,若條件1爲真,則繼續求值
出於性能考慮:在and表達式中,若不同條件相互獨立,將最有可能爲false的放在左邊;在or表達式中,將最有可能爲true的放在左邊
13、所有的運算符中,not的級別最低
14、模塊(module)是包含函數和類定義的文件,模塊的集合,稱爲包(package)
稱爲標準庫的模塊一般位於python安裝目錄的庫目錄下,如/usr/lib/pyth2.4或/usr/local/lib/python2.4
15、dir()可以查詢當前的命名空間
16、def fact(arg1 = 1,arg2 = 1,arg3 = 1)
17、支持3種基本序列數據類型:字符串、列表(list)和元組(tuple),序列相當於其他語言的數組
    序列如果從尾部訪問,最後一個元素是c[-1],倒數第二個是c[-2],一次類推
    列表通常存儲同種數據的序列,列表長度可以任意更改
    元組通常存儲異種數據的序列,元組長度和值是不可變的,一旦發現修改,就拋出錯誤
18、創建空元組:aTuple = ()
    創建包含值序列的一個元組:aTuple = 1, 2, 3   創建元組的過程也稱爲元組打包(packing a tuple),也可以爲aTuple = (1, 2, 3)
    創建單元素元組:aSingleton = 1,  切記不能少了這個逗號
19、alist = [ 0, 1, 2 ]
    print range(len(alist))   --> [ 0, 1, 2 ]
20、print "*"*100
21、解包:(注意長度必須完全一致,否則拋錯)
    string = "abc"
    first,second,third=string ## first=a , second=b, third=c
    list = ['a','b','c']
    first, second, third=list ## first=a, second=b, third=c
    tuple = ('a','b','c')
    first, second, third=tuple ## first=a , second=b, third=c
    x,y=y,x ## swap x y
22、分片(slice)
    list = ['a','b','c']
    >>> print list[0:2]
    ['a', 'b']
    >>> print list[-2:-1]
    ['b']
    >>> print list[:]  ##整個序列 
    ['a', 'b', 'c']
23、字典
    創建空字典:emptyDict = {}
    初始化字典:Dict = {1:"True", 2:"False"}
    modify字典元素: grade["Steve"] = 90
    刪除字典中的一項: del grade["john"]
24、列表的一些常用方法
    List = [1,2,3]
    List.append(4) -- > List = [1,2,3,4]
    List.count(2) -- > 2出現的次數
    append(item)    在列表末尾插入item
    count(element)    返回element在列表中出現的次數
    extend(newList)    將newList的元素插入列表末尾
    index(element)    返回element在列表中首次出現的索引,若不在,產生ValueError異常
    insert(index,item)   在位置index插入item
    pop([index])    index參數可選的。如無參數調用該方法,會刪除並返回列表的最後一個元素。如指定了index參數,刪除並返回位置index的元素
    remove(element)    刪除首次在列表中出現的element,如element不在列表中,則產生ValueError異常
    reverse()    當場反轉列表內容(不創建一個反轉的拷貝)
    sort([compare-fuction])   當場對列表內容進行排序
25、字典的一些常用方法
    clear()    從字典中刪除所有項
    copy()   創建並返回字典的一個淺拷貝(新字典中的元素是對原始字典元素的引用)
    get(key[,returnValue])   返回字典中與key對應的值,若key不在字典中,且指定了returnValue,則返回returnValue,若沒指定returnvalue,則返回none
    has_key(key)    若key在字典中,則返回1,否則返回0
    items()    返回一個由元組構成的列表,每個元組包含一個鍵-值對
    keys()    返回字典中所有鍵的一個列表
    popitem()    刪除任意鍵-值對,並作爲二個元素的一個元組返回。如字典爲空,會產生keyerror異常
setdefault(key[,dummyValue]) 與get類似,若key不在字典中,且指定了dummyValue,將鍵和dummyValue插入字典,若沒指定dummyValue,那值爲none
    update(newDictionary)    將來自newDictionary的所有鍵-值對添加到當前字典,並覆蓋同名鍵的值
    values()    返回
    iterkeys()    返回字典鍵的一個迭代器
    iteritems()    返回鍵-值對的一個迭代器
    itervalues()   返回字典值的一個迭代器
26、深淺copy:深是一個獨立的copy,淺copy是隨原本變化的一個副本而已
27、參數傳遞--傳對象引用
28、類:
    類名首字母必須大寫
    儘可能包括"文檔化字符串"來描述類,文檔化字符串習慣上是一個三引號字符串
    將所有方法的第一個參數都命名爲"self",確保不同的程序員編寫的python程序是一致的
    直接訪問對象的屬性,可能導致數據進入不一致狀態
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章