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. Android学习笔记_57_ExpandableListView控件应用

    1.布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr ...

  2. Storm处理流程, 基本参数配置

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAksAAAG/CAYAAABIVpOQAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF

  3. C#位数不足补零

    C#位数不足补零:int i=10;方法1:Console.WriteLine(i.ToString("D5"));方法2:Console.WriteLine(i.ToString ...

  4. 如何解决mosh中翻页只能查看一屏的问题

    最近用mosh替换了ssh作为连接开发机的工具,发现另外一个问题,ls cat随便什么命令输出结果超过一行的,向上翻页就没有了,找了下官网的FAQ也提到了这个问题,目前解决方案是使用tmux或者scr ...

  5. Spring知识点总结(一)

       1. 框架概述        所谓的框架其实就是程序的架子,在这个程序的架子中,搭建起程序的基本的骨架,针对程序的通用问题给出了便捷的解决方案,可以使开发人员 基于框架快速开发具体的应用程序.  ...

  6. 11.多线程&&并发

    11.1 操作系统中线程和进程的概念 一些常见的概念: 程序:指令和数据的byte序列,eg:qq.exe;a2. 进程:正在运行的程序(如QQ);a3.一个进程中可能有一到多个线程. 线程的概念:T ...

  7. Xadmin使用二

    1:修改site-title和site-footer,增加菜单折叠效果 在adminx.py中增加下面代码: class GlobalSetting(object): # 设置Title site_t ...

  8. leetcode笔记(五)809. Expressive Words

    题目描述 Sometimes people repeat letters to represent extra feeling, such as "hello" -> &qu ...

  9. 最长递增子序列(51Nod - 1134)

    20180604 23:18 https://blog.csdn.net/joylnwang/article/details/6766317(写得很用心,膜拜dalao) 给出长度为N的数组,找出这个 ...

  10. 路由器基础配置之ppp封装下的pap,chap认证

    我们将以上面的拓扑图完成本次实验,路由器的默认封装为HDLC,要求为把路由器全被更改为ppp封装,并在router3与router4之间用pap认证,在router4与router5之间用chap认证 ...