天天看點

百戰程式員python資源_尚學堂百戰程式員:盤點那些實用的Python代碼

python 是一門簡單而優雅的語言,可能是過于簡單了,不用花太多時間學習就能使用,其實 python 裡面還有一些很好的特性,能大大簡化你代碼的邏輯,提高代碼的可讀性。

使用生成器 yield

生成器是 python 裡面一個非常有用的文法特性,卻也是最容易被忽視的一個,可能是因為大部分能用生成器的地方也能用清單吧。

生成器可以簡單了解成一個函數,每次執行到 yield 語句就傳回一個值,通過不停地調用這個函數,就能擷取到所有的值,這些值就能構成了一個等效的清單,但是與清單不同的是,這些值是不斷計算得出,而清單是在一開始就計算好了,這就是 lazy evaluation 的思想。這個特性在資料量特别大的場景非常有用,比如大資料處理,一次無法加載所有的檔案,使用生成器就能做到一行一行處理,而不用擔心記憶體溢出

百戰程式員python資源_尚學堂百戰程式員:盤點那些實用的Python代碼

def fibonacci():

num0 = 0

num1 = 1

for i in range(10):

num2 = num0 + num1

yield num2

num0 = num1

num1 = num2

for i in fibonacci():

print(i)

使用xlwt寫入EXCEL

導入xlwt

import xlwt

建立一個excel檔案

file = xlwt.Workbook() #注意這裡的Workbook首字母是大寫,無語吧

建立一個sheet

table = file.add_sheet('sheet name')

寫入資料table.write(行,列,value)

table.write(0,0,'test')

如果對一個單元格重複操作,會引發

returns error:

# Exception: Attempt to overwrite cell:

# sheetname=u'sheet 1' rowx=0 colx=0

是以在打開時加cell_overwrite_ok=True解決

table = file.add_sheet('sheet name',cell_overwrite_ok=True)

儲存檔案

file.save('demo.xls')

另外,使用style

style = xlwt.XFStyle() #初始化樣式

font = xlwt.Font() #為樣式建立字型

font.name = 'Times New Roman'

font.bold = True

style.font = font #為樣式設定字型

table.write(0, 0, 'some bold Times text', style) # 使用樣式

python的GUI子產品标準的是Tkinter,也有QT和MFC的子產品,有興趣的大家自己搜尋下

import Tkinter

root=http://Tkinter.Tk()

myLabel(root,"Welcome to python's world")

myLabel.pack()

root.mainloop()

百戰程式員python資源_尚學堂百戰程式員:盤點那些實用的Python代碼