type
status
date
slug
summary
tags
category
icon
password
Property
目录
摘要算法
Python
的hashlib
提供了常见的摘要算法,如MD5,SHA1等等。摘要算法又称哈希算法、散列算法,通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
通过摘要函数
f()
对任意长度的数据data
计算出固定长度的摘要digest
,可以发现原始数据是否被人篡改过。摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数,计算
f(data)
很容易,但通过digest
反推data
却非常困难。而且,对原始数据做一个bit的修改,都会导致计算出的摘要完全不同。以常见的摘要算法MD5为例,计算出一个字符串的MD5值:
如果数据量很大,可以分块多次调用
update()
,最后计算的结果是一样的:type
status
date
slug
summary
tags
category
icon
password
Property
目录
turtle
在1966年,Seymour Papert和Wally Feurzig发明了一种专门给儿童学习编程的语言——LOGO语言,它的特色就是通过编程指挥一个小海龟(turtle)在屏幕上绘图。海龟绘图(Turtle Graphics)后来被移植到各种高级语言中,Python内置了turtle库,基本上100%复制了原始的Turtle Graphics的所有功能。
指挥小海龟绘制一个长方形的简单代码:
从程序代码可以看出,海龟绘图就是指挥海龟前进、转向,海龟移动的轨迹就是绘制的线条。要绘制一个长方形,只需要让海龟前进、右转90度,反复4次。
绘图完成后,记得调用
done()
函数,让窗口进入消息循环,等待被关闭。否则,由于Python进程会立刻结束,将导致窗口被立刻关闭。