С тех пор как я влюбился в ООП у начал мечтать иметь доступ к ключам словаря как к атрибутам.
В интернетах есть какая-то реализация, но я захотел попробоать сделать свою чисто чтобы больше разобраться в ООП и "магических методах".
Использовать то, что я накидал, в продакшене нельзя так как нужно походу рефакторить и дописывать другие методы, но вот что уже работает:
Представим у нас есь словарик.
somedict = {
"name": "Oleh",
"username": "kopyl"
}
Кормим его классу
somedict = Ddict(somedict)
Ddict – Dope dict
И пробуем:
print(somedict.username)
# kopyl
print(somedict["username"])
# kopyl
somedict["name"] = "Max"
print(somedict.name)
# Max
print(somedict.name) = "Masha"
print(somedict["name"])
# Masha
print(somedict.name)
# Masha