Python之路---一些小練習
阿新 • • 發佈:2019-02-15
終於又迎來了一個暑假,這個暑假的任務很重。其中一項就是將自己的python技進一步的提升,所以有了這篇文章。以此來記錄我的收穫
這篇文章是根據這個 python練習冊上 的題目進行的。
1.(題目2)
首先程式碼如下:
# -*- coding:utf-8 -*- import string import random field = string.letters+string.digits #通過string來實現字母和數字的結合 def getRandom(): return "".join(random.sample(field,4))#sample()從指定序列中隨機獲取指定長度的片斷這裡主要了解了string 和 random 的一些用法,其中還有python的一個高階用法---列表推導def concatenate(group): return "-".join([getRandom() for i in range(group)]) def generate(n): return [concatenate(4) for i in range(n)] print generate(100)
2.(題目1)
由於題目一是個關於影象處理的題目,我想學學關於python中這個優秀的包 PIL(Pillow)
# -*- coding:utf-8 -*- '''關於PIL的使用PIL還有很多有趣的功能,我之後會再進行補充。明天會學習一些關於資料庫的東西(MySQL&Redis)''' from PIL import Image #eg1 im = Image.open('test.jpg') print im.size #影象的大小(寬和高,單位是畫素) print im.format #影象的格式 print im.mode #影象的模式 '''補充: L 灰度圖RGB 真彩色CMYK pre-press檔案''' #eg2 im.thumbnail((200,100)) #生成縮圖 im2 = im.save('test2.png') #將圖片儲存,這裡可以將圖片轉換成為另一個格式 #eg3 box = (100,100,400,400) region = im.crop(box) #crop()可以從圖片中提取出一個子矩形 region.show() region = region.transpose(Image.ROTATE_180) #將這個子矩形旋轉180度 im.paste(region,box) im3 = im.save('test3.png')
3.這裡記錄下兩個處理列表的黑魔法:
l = [1, 2, 3] from itertools import product print list(product(l, repeat=2)) # 這個輸出[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)] from itertools import combinations print list(combinations(l, 2)) # 這個輸出[(1, 2), (1, 3), (2, 3)]