5W3D

本周主要讲了list和加密初步

list

范围:

a = range(20)

a[1]

切片:

a[1:4]

a[-4:]

a[:-4]

a[::2]

a[1::2]

素数:

[ i for i in a if i > 5]

只要余数不为0,表示不被整除

素数:除了1和本身,不能被其他整数整除

x = 7

[d for d in range(2,x-1)]

range(2,x-1)

[x%d for d in range(2,x-1)]

只要余数存在0,说明是素数,否则是非素数

0 not in [x%d for d in range(2,x-1)]

x = 3 x = 7 x = 4

查找100内的所有素数:

x = 100

[p for p in range(2,x-1) if 0 not in range(2,x-1)]]

';'.join(a)

';'.join([i in a])

';'.join([str(i) for in a])

ipython 在windows中上下键是没有用的,只有在linux和OSX系统中支持上下键

for..in

ipythonic

idioms

迭代器

生成器

加密

加密常用的几种方式:

MD5,2.5之后强制用hash-lib,MD5实际上是一种指纹数据,可以对音频、视频、图片等进行识别,单向的。

所以,有对应常见字符串的仓库,可以用来撞库。。。

什么是转义?

中文在连接里是强制转义的

base64,可以进行你操作的编码

结合这两个技术,可以实现组合加密,实现更加复杂的加密编码

客户端引用是相同的x-settings

py2的经典编码问题

解密:脑力成本+计算成本

6W任务:

微信公众号,

BaaS

公众号、企业号

QA

变量命名

IT命名学

  • 可诵

  • 一致

  • 文艺

  • E文

  • 命力

止损

初级知识,需要对高级知识深入了解,才能真正深入了解

  • 钻研

  • 探询

  • 深度

  • 广度

怎么样面对这些问题?如何提问?

  • 文档

经验

  • 所有东西都能教授,求知欲和学习能力除外

  • 笨功夫

  • 经验

  • Google Python Style Guide

军规

  1. 代码排版到能一眼就知道有没有bug和设计问题
  2. 当无法起一个漂亮的变量名的时候已经有设计问题
  3. 每次重构,代码行数减少一倍,效率提高一倍,功能增加一倍!

核心目标

  • 升级

  • 跳级

  • btw KEEP CALM AND WITH B.G.M

  • KEEP CALM AND USE THE FORCE

哲学

编程思维的培养必须要编程

靠谱行为的基础只能是靠谱

提问是获得技能的唯一起点

教练价值源自你真诚的行动

必要难度是学习的最佳动力