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
军规
- 代码排版到能一眼就知道有没有bug和设计问题
- 当无法起一个漂亮的变量名的时候已经有设计问题
- 每次重构,代码行数减少一倍,效率提高一倍,功能增加一倍!
核心目标
升级
跳级
btw KEEP CALM AND WITH B.G.M
KEEP CALM AND USE THE FORCE
哲学
编程思维的培养必须要编程
靠谱行为的基础只能是靠谱
提问是获得技能的唯一起点
教练价值源自你真诚的行动
必要难度是学习的最佳动力