929900276牛人大佬:

学到密码加盐后存储,发现有点奇怪。
倒不是思路上的问题,是有些不能理解为什么执行不了:

这里参考liaoxuefeng的python教程,其目的是实现密码加盐后存储,liao神给了一个db,我理解是先用这个db生成对应的一个一个的用户实例,于是就有了这个问题。

问题在倒数三四行,我想通过循环来把michael bob 和alice都生成一个User的实例来存储密码
然后发现这三者没有被正确创建

于是我手动创建了一个mememe,发现这个正常,有没有解决方案哈,我错哪儿了?
谢谢各位

  1. import random,hashlib
  2. def get_md5(s):
  3.     return hashlib.md5(s.encode(‘utf-8’)).hexdigest()
  4. class User(object):
  5.     def __init__(self, username, password):
  6.         self.username = username
  7.         self.salt = ”.join()
  8.         self.password = get_md5(password + self.salt)
  9. db = {
  10.     ‘michael’: User(‘michael’, ‘123456’),
  11.     ‘bob’: User(‘bob’, ‘abc999’),
  12.     ‘alice’: User(‘alice’, ‘alice2008’)
  13. }
  14. for key in db.keys():
  15.     key = db
  16. mememe = User(‘qzx’,’112233′)

d5d牛人大佬:
每次学习,都学不到这里。帮不上胸滴了。

929900276牛人大佬:


每次学习,都学不到这里。帮不上胸滴了。

帮顶就是很感谢啦

小混混牛人大佬:

创建了,看我print一下
一个关于python字典赋值的问题-图1

929900276牛人大佬:


创建了,看我print一下

其实我没有特别理解liaoxuefeng的意思

你看它给出的db的构造, 前面是个名字,后面键值是是一个   类的初始化
我就认为要用字典先初始化这个类创建若干实例

夏生啊牛人大佬:

一个关于python字典赋值的问题-图2
你在创建db字典的时候用户实例就创建了。不需要在遍历字典

似毛非毛牛人大佬:
一个关于python字典赋值的问题-图3

我也觉得创建了。。