/
ilya.petrash
/
SimplePyScripts
Обзор
Документация
Войти
/
ilya.petrash
/
SimplePyScripts
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
WrapperMap__work_with_dict_through_atts.py
41 строка
851 B
gil9red
Refactoring. Using black code style
18 июн 2023, 16:18
18 июн 2023, 16:18
ab2f45e
Код
Авторство
О чём код?
#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = "ipetrash" class WrapperMap: def __init__(self, d: dict): self.d = d def get_value(self): return self.d def __getattr__(self, item: str): value = self.d.get(item) if isinstance(value, dict): return self.__class__(value) return value def __repr__(self): return repr(self.d) genMessage = { "from_user": { "id": 123, "username": "username", "full_name": "fullName", }, } x = WrapperMap(genMessage) print(x.from_user, type(x.from_user)) # {'id': 123, 'username': 'username', 'full_name': 'fullName'} <class '__main__.WrapperMap'> print(x.from_user.id, type(x.from_user.id)) # 123 <class 'int'> print(x.from_user.username, type(x.from_user.username)) # username <class 'str'>