mini-web服务器

- 能够完成简单的请求处理
- 使用http协议
- 目的:加深对网络编程的认识、为后面阶段学习web做铺垫 简单数据结构 - 排列组合
import itertools # 排列:从m个元素中提取n个,所有可能就是排列(有顺序)
# 当m等于n时的排列称为全排列
# it = itertools.permutations([1, 2, 3], 3) # 组合:没有顺序的排列
# it = itertools.combinations([1, 2, 3, 4], 2) # 笛卡尔乘积:多个序列中的元素组合
# it = itertools.product([1, 2], [3, 4], [5, 6])
# 上面多个相同序列的场景
it = itertools.product([1, 2], repeat=3) print(it)
for i in it:
print(i) # 可以转换为列表
# print(list(it1))
- 计数器及双向队列
from collections import Counter, deque # 统计序列中元素出现的次数
c = Counter([1, 2, 3, 4, 1, 2, 3, 1, 2, 1]) print(c)
print(type(c))
# 可以转换为字典
print(dict(c)) # 双向队列
d = deque([1, 2, 3]) # 右侧追加
d.append(4)
# 左侧添加
d.appendleft(5) # 右侧弹出数据
print(d.pop())
# 左侧弹出数据
print(d.popleft()) # 右侧扩展
d.extend(['a', 'b', 'c'])
# 左侧扩展
d.extendleft(['aa', 'bb', 'cc']) # 循环移动:正数表示向右移动,负数表示向左移动
# d.rotate(1)
d.rotate(-1)
print(d)
print(list(d))
- 链表
- 添加节点
- 追加节点
- 插入节点
- 删除节点 图片处理 - 说明:通常对图片的操作有:缩放、旋转、翻转、裁剪、滤镜、画图等。
- 扩展库:PIL,只支持py2,需要安装pillow库之后才能支持py3
- 安装:pip install pillow
- 预备知识:
- 颜色:R(红)、G(绿)、B(蓝)、A(透明)
- 坐标:(0, 0)坐标在图片的左上角,向右表示水平的正方向,向下表示垂直的正方向。
- 验证码:
from PIL import Image, ImageFont, ImageDraw, ImageFilter
from random import randint # 产生随机的颜色
def rand_color():
return (randint(128, 255), randint(128, 255), randint(128, 255)) # 创建图片
img = Image.new('RGB', (200, 50), 'white') # 创建字体
font = ImageFont.truetype('xdxwz.ttf', 30) # 创建画笔
draw = ImageDraw.Draw(img) # 写字
for i in range(4):
draw.text((i*50+15, 0), 'A', font=font, fill='black') # 画干扰点
for i in range(100*50):
x = randint(0, 200)
y = randint(0, 50)
draw.point((x, y), fill=rand_color()) # 使用滤镜,会生成新的图片
img = img.filter(ImageFilter.GaussianBlur)
# 展示图片,会调出系统的图片查看器
img.show() py2与py3的区别 - 说明:见pdf文件

python学习总结----简单数据结构的更多相关文章

  1. Python学习 Part3:数据结构

    Python学习 Part3:数据结构 1. 深入列表: 所有的列表对象方法 list.append(x): 在列表的末尾添加一个元素 list.extend(L): 在列表的末尾添加一个指定列表的所 ...

  2. python学习笔记五——数据结构

    4 . python的数据结构 数据结构是用来存储数据的逻辑结构,合理使用数据结构才能编写出优秀的代码.python提供的几种内置数据结构——元组.列表.字典和序列.内置数据结构是Python语言的精 ...

  3. Python学习笔记系列——数据结构相关

    Python有4种数据结构:列表(list).字典(dictionary).元组(Tuple).集合(set).从最直接的感官上来说,这四种数据结构的区别是:列表中的元素使用方括号括起来,字典和集合是 ...

  4. Python学习 —— 实现简单的爬虫

    为了加快学习python3.x,查了许多资料后写了这个脚本,这个脚本主要是爬取百度图片'东方幻想乡'的图片,但还是有很多问题存在. 下面给出代码: # 更新了一下代码 from urllib impo ...

  5. python学习之常用数据结构

    前言:数据结构不管在哪门编程语言之中都是非常重要的,因为学校的课程学习到了python,所以今天来聊聊关于python的数据结构使用. 一.列表 list 1.列表基本介绍 列表中的每个元素都可变的, ...

  6. Python学习笔记——基本数据结构

    列表list List是python的一个内置动态数组对象,它的基本使用方式如下: shoplist = ['apple', 'mango', 'carrot', 'banana'] print 'I ...

  7. Python学习笔记(3)--数据结构之列表list

    Python的数据结构有三种:列表.元组和字典 列表(list) 定义:list是处理一组有序项目的数据结构,是可变的数据结构. 初始化:[], [1, 3, 7], ['a', 'c'], [1, ...

  8. Python 学习(1) 简单的小爬虫

    最近抽空学了两天的Python,基础知识都看完了,正好想申请个联通日租卡,就花了2小时写了个小爬虫,爬一下联通日租卡的申请页面,看有没有好记一点的手机号~   人工挑眼都挑花了. 用的IDE是PyCh ...

  9. python学习:简单的wc命令实现

    #!/usr/bin/python   import sys import os   try:     fn = sys.argv[1] except IndexError:     print &q ...

随机推荐

  1. JavaScript常用方法

    判断运行客户端 function isPhone() { var flag = false; var userAgentInfo = navigator.userAgent; var Agents = ...

  2. Android学习笔记_40_系统结构 目录结构

    1.系统结构: 一.应用程序层 Android平台不仅仅是操作系统,也包含了许多应用程序,诸如SMS短信客户端程序.电话拨号程序.图片浏览器.Web浏览器等应用程序.这些应用程序都是用Java语言编写 ...

  3. 【题解】洛谷P1463 [POI2002][HAOI2007] 反素数(约数个数公式+搜索)

    洛谷P1463:https://www.luogu.org/problemnew/show/P1463 思路 约数个数公式  ai为质因数分解的质数的指数 定理: 设m=2a1*3a2*...*pak ...

  4. Spring8中lambda表达式的学习(Function接口、BiFunction接口、Consumer接口)

    代码重构,为了确保功能的等效性,梳理代码时,发现如下代码: public SingleRespTTO fundI(SingleReqTTO request) throws Exception { re ...

  5. 表达式过滤器 uppercase

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  6. linux 使用sqlite3

    :c中使用sqlite3需要调用函数接口操作: sqlite3 *db; int status=sqlite_open("dbname",&db);//打开或者创建数据库 ...

  7. js判断手机登陆用户

    uaredirect.js function uaredirect(f){try{if(document.getElementById("bdmark")!=null){retur ...

  8. Restrramework源码(包含组件)分析

    1.总体流程分析 rest_framework/view.py 请求通过url分发,触发as_view方法,该方法在ViewSetMixin类下 点进去查看as_view源码说明,可以看到它在正常情况 ...

  9. 打包上传appsto错误 ERROR ITMS-90087: 和WARNING ITMS-90080: 问题

    第一个错误 (Hyphenate.framework可以看粗是环信问题) ERROR ITMS-90087: "Unsupported Architectures. The executab ...

  10. c# 开发可替换的通用序列化库

    开篇继续吹牛.... 其实没有什么可吹的了,哈哈哈哈哈 主要是写一个通用库,既可以直接用,又方便替换,我的序列化都是采用第三方的哈. 我不上完整代码了,只是给大家讲讲过程. 1.写一个序列化的类,我是 ...