Вопрос по методу __and__

Суть самой задачи. Взять друзей из вк двух пользователей и создать список общих друзей.

Возник вопрос по работе метода __and__ . У самого для задачи не получается добавить в код этот метод, потому что я не понимаю, как правильно его оформить. Примеров не нашел. Как добавить его в этот код?

Сам код:

import requests


with open('token.txt', 'r') as file_object:
    token = file_object.read().strip()


class VkUser:
    url = 'https://api.vk.com/method/'

    def __init__(self, token, version):
        self.token = token
        self.version = version
        self.params = {
            'access_token': self.token,
            'v': self.version
        }
        self.owner_id = requests.get(self.url + 'users.get', self.params).json()['response'][0]['id']

    def get_friend(self, user_id=None):
        if user_id is None:
            user_id = self.owner_id
        friends_url = self.url + 'friends.get'
        friends_params = {
            'count': 1000,
            'user_id': user_id
        }
        res = requests.get(friends_url, params={**self.params, **friends_params})
        return res.json()


vk_client = VkUser(token, '5.126')
friends_1 = vk_client.get_friend()
friends_2 = vk_client.get_friend()
print(set(friends_1['response']['items']) & set(friends_2['response']['items']))

Ответы (2 шт):

Автор решения: eri
set(friends_1['response']['items']). __and__(set(friends_2['response']['items']))
→ Ссылка
Автор решения: n1tr0xs

Сделать пересечение множеств без приведения типа объектов к set невозможно.

Однако есть несколько вариантов, которые могут вам помочь:

  1. Можно возвращать из функции уже set: return set(res.json()['response']['items'])
  2. Создать класс-наследник класса requests.models.Response с переопределенным методом json, но тогда вы не сможете делать так: friends_1['response']['items'].
→ Ссылка