Python之路---一些小练习

终于又迎来了一个暑假,这个暑假的任务很重。其中一项就是将自己的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()从指定序列中随机获取指定长度的片断
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)
这里主要了解了string 和 random 的一些用法,其中还有python的一个高级用法---列表推导

2.(题目1)

由于题目一是个关于图像处理的题目,我想学学关于python中这个优秀的包 PIL(Pillow)

# -*- coding:utf-8 -*-
'''关于PIL的使用'''
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)  #将这个子矩形旋转180im.paste(region,box)
im3 = im.save('test3.png')
PIL还有很多有趣的功能,我之后会再进行补充。明天会学习一些关于数据库的东西(MySQL&Redis)

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)]








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值