在 database_set 中有存储的用户对象。用户具有您需要从用户集中获取的字段(名字、姓氏、父名、登录名、密码)和登录字段,以便稍后我可以将保存的登录名与小部件中输入的登录名进行比较。
用户代码
class User():
def __init__(self, firstname, lastname, patronymic, login, password):
self.firstname = firstname
self.lastname = lastname
self.patronymic = patronymic
self.login = login
self.password = password
def __str__(self):
return f"User(firstname={self.firstname}, lastname={self.lastname}, patronymic={self.patronymic}, " \
f"login={self.login}, password={self.password})"
from entity.user import User
database_set = set()
test_user_one = User("Arkadi", "Vartanyan", "Gevorkovich", "adik508", "ad123")
test_user_two = User("Ivan", "Ivanov", "Ivanovich", "ivan508", "ivan123")
test_user_three = User("Artem", "Artemov", "Artemovich", "artem508", "artem123")
test_user_four = User("Vasili", "Vasilev", "Vasilevich", "vasili508", "vasili123")
def save_database(user):
database_set.add(user)
print("Пользователь успешно сохранен!")
save_database(test_user_one)
save_database(test_user_two)
save_database(test_user_three)
save_database(test_user_four)
在这里使用字典而不是集合是有意义的。在这本字典中,键是登录名,值是用户对象本身。然后很容易
in检查数据库中是否存在登录名,然后通过登录名自己获取用户,然后例如检查密码。如果用于
set存储用户,那么通过in它您只能检查是否存在登录名(如果您覆盖方法__hash__和__eq__类User),并且必须通过枚举集合的元素来搜索对象本身。Python 中的集合(集合类型)仅对字符串或数字等简单类型有用。仅将用户登录名存储在您的集合中,而不是他们的对象。这将使使用in运算符更容易检查。