• Как передать атрибуты из одного класса в другой (не из метакласса)?

    @Pavelmaximov Автор вопроса
    я нашел такой способ, только не знаю насколько он экологичен

    class Auth: 
        # авторизация несколькими способами, полученный токен
        # записываю в аргумент
        def __init__(self): 
            self.token = None        
            
        def set_token(self, token): 
            # один из способов авторизации
            self.token = token
            return self.token
    
    class Api: 
        # Отправляет запрос к апи, на вход принимает URL
        def request(self, url): 
            print('отправляю запрос на', url)
                   
    class Stat: 
        def __init__(self): 
            self._api = Api()
            self.auth = Auth()
            
        def get(self, date1, date2):
            url = date1 + date2 + self.auth.token
            return self._api.request(url)
        
        
    st = Stat()
    st.auth.set_token('token111aaa')
    
    st.get('2016', '2017')

    out: отправляю запрос на 20162017token111aaa
    Ответ написан