Day5

什么是hash

可以被hash的内容

刚刚我们已经说过,hash值的计算过程是依据这个值的一些特征计算的,这就要求被hash的值必须固定。

可以想见如果“王老五”变成“王老六”了,计算的结果就会发生改变。

因此我们要说,坏消息是可变的数据类型是不可以被hash的,好消息是如果一个值可以hash那么说明这是一个不可变得数据类型。

哈希算法有一个很大的特点。就是必不能从结果推算出输入,所有称为不可逆的算法

 

哈希特性

不可逆       也作为一种加密算法存在

计算极快    

哈希的用途

1.密码:md5加密算法

         网站的密码都是基于hash,保证同样输入得出的结果值一直一致

2.文件的完整性校验:md5值

3.数组签名:

 

基于hash的类型:

dict :   dict的key都要经过hash运算

      key唯一

      key不可变

      查询速度快,且不受dict大小影响

set :            

 

 

用python操作文件

1.找到文件,打开     f = open(filename)

2.读、修改                f.read()读所有  f.read(100)读100个字符   f.write() 写

3.保存&关闭             f.close()自动保存且关闭

文件打开模式:只能以一种模式操作文件

三种模式:r  read   ,  w write 创建模式 ,  a append 

创建文件  只能写 不能读

f = open(file = '创建文件.txt',mode='w')
f.write('xifeng it 4000\n')
f.write('qiangzi it 2000\n')
f.close()

读文件   只能读不能写

f = open(file = '创建文件.txt',mode = 'r')
print(f.readline())#只读取一行
data = f.read()#读所有,或者剩下的所有
print(data)
f.close()

添加文件   只能写不能读

f = open(file='创建文件.txt',mode= 'a')
f.write('longzong ceo 100000\n')
f.close()

 

上一篇:数字累加


下一篇:for循环中使用setTimeout打印多个同样的值 使用闭包 或者作用域解决