1.列表解析。 (1)這是一個,讓人聽起來十分欣喜的術語,代表著你可以通過一個迴圈將所有值放到一個列表中。python列表解析屬於python的迭代中的一種,相比python for迴圈速度會快很多。下麵看下python列表解析是怎麼工作的: 註:python會在解釋器里對range(10)進行迭代 ...
1.列表解析。
(1)這是一個,讓人聽起來十分欣喜的術語,代表著你可以通過一個迴圈將所有值放到一個列表中。python列表解析屬於python的迭代中的一種,相比python for迴圈速度會快很多。下麵看下python列表解析是怎麼工作的:
a = [x+2 for x in range(10)] print (a)
----------------------------
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
註:python會在解釋器里對range(10)進行迭代,依次把列表裡的內容取出來,賦值給最左邊的x,然後執行x+2的操作,並且把執行好的結果保存在列表裡。等range(10)迭代完以後就新生成了一個列表,結果就是[2, 3, 4, 5, 6, 7, 8, 9, 10, 11],從上面可以看出,這也是建立python 列表的一個方法。
(2)若是將上述列表用for迴圈來實現怎麼實現那?
a = [] for i in range(10): a.append(i+2) print (a)
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
註:從上面可以看的出來,python列表解析比python for迴圈解析列表的代碼量會更少,解析速度會更快,寫起來也更酷,自己單獨寫腳本的話,會非常的簡便。但是在可讀性上來看還是多使用for迴圈更好一些。
2.文件和內建函數,open(),file()函數。
當我們熟悉了文件的操作了以後,會發現,文件的持久存儲是很重要的。
(1)如何讀寫文件。
file=open("test.log","w")
註意:test.log是文件的名字和打開方式。”r“表示只讀,”w“表示可寫,”a“表示可添加,當然這隻是其中的幾種打開方式。
(2)下麵的代碼顯示,提示用戶輸入文件名,然後打開一個文件,並將它的內容顯示出來。
filename=input("please input your filename:") f=open(filename,"w") for eachline in f: print(eachline) f.close()
註意:我們又再一次的在print語句的後面使用逗號來抑制自動生成的換行符。因為在文件中已經給每行文本加入了一個換行符。
3.錯誤和異常。
要給你的代碼添加錯誤異常處理,只要將它們”封裝“在try-except語句中。try之後的代碼就是你打算管理的代碼。except之後的代碼就是處理錯誤的代碼。
try: f=open("filename","r") for eachline in f: print(eachline), f.close() except IOError e : print("file open error:",e)
4.函數。
類似於其他語言,python中的函數也用()來調用,函數在調用之前要先定義,如果函數中沒有return語句,就會自動返回None對象。
5.如何定義函數。
def關鍵字及緊隨其後的函數名,再加上該函數需要的幾個函數名組成函數的參數是可選的,這個語句由一個冒號結束(:)與if,while語句的結束方式是一樣的。
def add(x): "apply+operation to arguement" return (x+x)
6.如何調用函數。
與其他類型的語言一樣,都是函數名再加上一對小括弧(),括弧之間是任意可選的參數,既是一個參數也沒有小括弧也不能省去。註意一下+操作符在非數值類型中是如何工作的。
>>>add(4.25) 8.5
7.預設函數。
函數的參數是一個預設值,在函數的定義中,參數以賦值的語句提供。事實上這僅僅是提供預設參數的語法,他表示函數調用時如果沒有提供這個參數,他就取這個值作為預設值。
8.類。
雷是面向對象編程的核心,它是相關數據和邏輯的存儲中心,它提供了創建真實對象的藍圖。由於python並不強求你面向對象的方式編程(與java不同),所以我們可以不學習類,可以瞭解一下。在這裡就簡單的介紹一下。
9.在python中比較實用用的一些函數。
(1)dir(obj):顯示對象的屬性。
(2)help(obj):以一種整齊美觀的方式顯示對象的文檔字元串。
(3)int(obj):將一個對象轉換為整型。
(4)len(obj):返回對象的長度。
(5)open(obj):打開文件的方式。
(6)range(obj):約束一個迴圈中的範圍。
(7)input(obj):內建函數。
(8)str(obj):將一個對象轉換為字元型。
(9)type(obj):返回對象的類型。