1. mini-web服务器
  2. - 能够完成简单的请求处理
  3. - 使用http协议
  4. - 目的:加深对网络编程的认识、为后面阶段学习web做铺垫
  5. 简单数据结构
  6. - 排列组合
  7. import itertools
  8. # 排列:从m个元素中提取n个,所有可能就是排列(有顺序)
  9. # 当m等于n时的排列称为全排列
  10. # it = itertools.permutations([1, 2, 3], 3)
  11. # 组合:没有顺序的排列
  12. # it = itertools.combinations([1, 2, 3, 4], 2)
  13. # 笛卡尔乘积:多个序列中的元素组合
  14. # it = itertools.product([1, 2], [3, 4], [5, 6])
  15. # 上面多个相同序列的场景
  16. it = itertools.product([1, 2], repeat=3)
  17. print(it)
  18. for i in it:
  19. print(i)
  20. # 可以转换为列表
  21. # print(list(it1))
  22. - 计数器及双向队列
  23. from collections import Counter, deque
  24. # 统计序列中元素出现的次数
  25. c = Counter([1, 2, 3, 4, 1, 2, 3, 1, 2, 1])
  26. print(c)
  27. print(type(c))
  28. # 可以转换为字典
  29. print(dict(c))
  30. # 双向队列
  31. d = deque([1, 2, 3])
  32. # 右侧追加
  33. d.append(4)
  34. # 左侧添加
  35. d.appendleft(5)
  36. # 右侧弹出数据
  37. print(d.pop())
  38. # 左侧弹出数据
  39. print(d.popleft())
  40. # 右侧扩展
  41. d.extend(['a', 'b', 'c'])
  42. # 左侧扩展
  43. d.extendleft(['aa', 'bb', 'cc'])
  44. # 循环移动:正数表示向右移动,负数表示向左移动
  45. # d.rotate(1)
  46. d.rotate(-1)
  47. print(d)
  48. print(list(d))
  49. - 链表
  50. - 添加节点
  51. - 追加节点
  52. - 插入节点
  53. - 删除节点
  54. 图片处理
  55. - 说明:通常对图片的操作有:缩放、旋转、翻转、裁剪、滤镜、画图等。
  56. - 扩展库:PIL,只支持py2,需要安装pillow库之后才能支持py3
  57. - 安装:pip install pillow
  58. - 预备知识:
  59. - 颜色:R(红)、G(绿)、B(蓝)、A(透明)
  60. - 坐标:(0, 0)坐标在图片的左上角,向右表示水平的正方向,向下表示垂直的正方向。
  61. - 验证码:
  62. from PIL import Image, ImageFont, ImageDraw, ImageFilter
  63. from random import randint
  64. # 产生随机的颜色
  65. def rand_color():
  66. return (randint(128, 255), randint(128, 255), randint(128, 255))
  67. # 创建图片
  68. img = Image.new('RGB', (200, 50), 'white')
  69. # 创建字体
  70. font = ImageFont.truetype('xdxwz.ttf', 30)
  71. # 创建画笔
  72. draw = ImageDraw.Draw(img)
  73. # 写字
  74. for i in range(4):
  75. draw.text((i*50+15, 0), 'A', font=font, fill='black')
  76. # 画干扰点
  77. for i in range(100*50):
  78. x = randint(0, 200)
  79. y = randint(0, 50)
  80. draw.point((x, y), fill=rand_color())
  81. # 使用滤镜,会生成新的图片
  82. img = img.filter(ImageFilter.GaussianBlur)
  83. # 展示图片,会调出系统的图片查看器
  84. img.show()
  85. py2py3的区别
  86. - 说明:见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. win10 安装YII2

    YII2下载地址:http://www.yiichina.com/download 高级版本和基本版本的区别是: 基础版只有一个只有一个web应用,高级版则生成前后台.建议使用高级版,方便 Yii2框 ...

  2. data-ng-model 指令

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

  3. checkbox 全选

    <template> <div class="hello"> <table> <tr> <th><input ty ...

  4. C#中Math.Round()的中国式用法

    C#中的Math.Round()并不是使用的"四舍五入"法.而是(银行家算法),即:四舍六入五取偶.事实上这也是IEEE的规范,因此所有符合IEEE标准的语言都应该采用这样的算法. ...

  5. etcd客户端c#

    etcd是什么东西就不介绍了,自己网上搜索,简单说就是一个分布式K/V存储系统: 由于它是go语言写的,没有其它客户端,找到一个java的. 出于方案积累原因,写了c#版本,可以使用.c#版本是基于e ...

  6. JavaScript-语法专题

    一.数据类型的转换 概述 JavaScript是一种动态语言,变量没有类型限制,可以随时赋予任意值 强制转换:主要是值Number(),String(),Boolean三个函数 Number函数,可以 ...

  7. conda 安装 graph-tool, 无需编译

    1. 添加以下channels到~/.condarc $ conda config --add channels conda-forge $ conda config --add channels o ...

  8. Co. - VMware - vSphere

    VMware vSphere 组件 VMware vSphere是VMware推出的基于云计算的新一代数据中心虚拟化套件,它由VMware ESXi.VMware vCenter Server.VMw ...

  9. jQuery代码解释(基本语法)

    html中jquery的以下用法 求解: var header = {}; header.ajaxCallComplete = false; header.login = false; header. ...

  10. 【基于不同设备厂商在处理vlan之间通信配置例子】

    H3C: Dot1q子接口实现vlan之间的通信 一:根据项目需求搭建好拓扑图如下: 二:配置 HUAWEI: CISCO