Сейчас я пишу библиотеку для VK на python. И дело в том, что в зависимости от параметров определенных методов, функции API возвращают разные объекты.
Например, метод, возвращающий информацию о друзьях.
# Метод ниже возвращает объект с полями:
# count - количество друзей
# items - массив id друзей
api.friends.get() # no fields
# Метод ниже возвращает объект с полями:
# count - количество друзей
# items - массив объектов информации о друзей. Один такой объект содержит в себе поля:
# id - id друга
# firstname - имя друга
api.friends.get(fields = 'firstname') # fields
для разделения таких ответов, я пробовал использовать typing.overload декоратор. Но он не работает, если параметров в методе много и если нужно устанавливать дефолтное значение параметра.
Попытки на полупсевдокоде реализации:
дело в том, что существует отдельный объект, GroupsFilter. Типизация как раз нужна для того, чтобы в поле filter не написать того, чего не существует и случайно не вызвать
Да я бы и не стал спрашивать тут, если бы находил ответ на открытых страницах) На сайте со списком индивидуальных достижений такого не прописано, но я знаю, что это есть. Вот, думаю, вдруг тут есть кто с опытом, подскажет что да как)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Сейчас я пишу библиотеку для VK на python. И дело в том, что в зависимости от параметров определенных методов, функции API возвращают разные объекты.
Например, метод, возвращающий информацию о друзьях.
для разделения таких ответов, я пробовал использовать typing.overload декоратор. Но он не работает, если параметров в методе много и если нужно устанавливать дефолтное значение параметра.
Попытки на полупсевдокоде реализации:
При попытке вызова friends.get и с параметром fields, и без него, pycharm выдавал один и тот же результат.
Есть ли у вас мысли, как можно было бы лучше организовать подсказки?
Буду признателен за ваш ответ.