前段時間學了shell指令碼,看的乙個頭痛,主要是語法太犀利了,看完基本忘了很多,以至於上篇系列文章很多還停在草稿階段,等假期再補上把。無意中發現了python,這玩意靈活而且語法跟c有相似風格,起碼不要在寫做條件測試了吧,話說shell的測試和控制流程語法都太犀利的,以至於要經常翻才行。
不多說了,現在把我的前半部分 東西放上來,做個備忘。
2.1,python大小寫敏感的。
2.2,另外,確保在每一行的開始字元前沒有空格或者製表符(這個縮排確實比較煩人,建議嚴格按照邏輯關係縮排,尤其實在流程控制語句中)
2.3,任何在#符號右面的內容都是注釋
2.4,數:在python中有4種型別的數——整數、長整數、浮點數和複數。(基本上不是數學演算法,不會用到複數)
2是乙個整數的例子。 長整數不過是大一些的整數。 3.23和52.3e-4是浮點數的例子。e標記表示10的冪。在這裡,52.3e-4表示52.3 * 10-4。 (-5+4j)和(2.3-4.6j)是複數的例子。 2.5,字串
單引號,雙引號是一致的,空格與指標服都得以保留,\反斜槓是轉義含義,在需要輸入單引號,雙引號時候可以引用。值得注意的一件事是,在乙個字串中,行末的單獨乙個反斜槓表示字串在下一行繼續,而不是開始乙個新的行.
2.6,變數標示
命名規則與c語言類似。無需事先宣告型別。
變數使用示例:
# filename : var.py i = 5 print i i = i + 1 print i s = '''this is a multi-line string. this is the second line.''' print s 2.7,書寫規定
物理行是你在編寫程式時所 看見 的。邏輯行是python 看見 的單個語句。python假定每個 物理行 對應乙個 邏輯行 。如果你想要在乙個物理行中使用多於乙個邏輯行,那麼你需要使用分號
(;)來特別地標明這種用法。(
準確說python還是盡量不要採取這種書寫方式,易讀性大大下降)
注意:對於python而言,**縮排是一種語法,python語言中沒有採用花括號或begin...end...分隔**塊,而是使用冒號和**縮進來區分**之間的層次。(即。注意它們的
鍵/值對用冒號分割,而
各個對用逗號分割,所有這些都包括在花括號中。
記住字典中的鍵/值對是沒有順序的。如果你想要乙個特定的順序,那麼你應該在使用前自己對它們排序。
字典是dict類的例項/物件。
#!/usr/bin/python # filename: using_dict.py # 'ab' is short for 'a'ddress'b'ook ab = print "swaroop's address is %s" % ab['swaroop'] # adding a key/value pair ab['guido'] = '[email protected]' # deleting a key/value pair del ab['spammer'] print '\nthere are %d contacts in the address-book\n' % len(ab) for name, address in ab.items(): print 'contact %s at %s' % (name, address) if 'guido' in ab: # or ab.has_key('guido') print "\nguido's address is %s" % ab['guido']
python從0開始計數。因此,shoplist[0]抓取第乙個專案,shoplist[3]抓取shoplist序列中的第四個元素。
索引同樣可以是負數,在那樣的情況下,位置是從序列尾開始計算的。因此,shoplist[-1]表示序列的最後乙個元素而shoplist[-2]抓取序列的倒數第二個專案。
切片操作符是序列名後跟乙個方括號,方括號中有一對可選的數字,並用冒號分割。注意這與你使用的索引操作符十分相似。記住數是可選的,而冒號是必須的。
切片操作符中的第乙個數(冒號之前)表示切片開始的位置,第二個數(冒號之後)表示切片到**結束。如果不指定第乙個數,python就從序列首開始。如果沒有指定第二個數,則python會停止在序列尾。注意,返回的序列從開始位置 開始 ,剛好在 結束 位置之前結束。即開始位置是包含在序列切片中的,而結束位置被排斥在切片外。
這樣,shoplist[1:3]返回從位置1開始,包括位置2,但是停止在位置3的乙個序列切片,因此返回乙個含有兩個專案的切片。類似地,shoplist[:]返回整個序列的拷貝。
你可以用負數做切片。負數用在從序列尾開始計算的位置。例如,shoplist[:-1]會返回除了最後乙個專案外包含所有專案的序列切片。
使用python直譯器互動地嘗試不同切片指定組合,即在提示符下你能夠馬上看到結果。序列的神奇之處在於你可以用相同的方法訪問元組、列表和字串。
2.11.5 參考
這個不陌生,就是c語言裡面的變數位址或者理解為c++中的變數別名而已。
python方法備忘錄
1 is instance arg1,arg2 查詢arg1的型別是否是arg2 from collections import iterable print isinstance a,iterable 查詢 a 是否是可迭代物件 2 重新匯入模組 import test from ipm impo...
jquery學習備忘錄
語法解釋 1.select id change function 為select新增事件,當選擇其中一項時觸發 2.var checktext select id find option selected text 獲取select選擇的text 3.var checkvalue select id...
ATL 學習備忘錄
1.編繹錯誤 error lnk2005 x already defined in atlmincrt.lib atlinit.obj 解決辦法 開啟release版本的專案配置項,把configuration properties general minimize crt use in atl設定...