Python Тема subcalss: __init__ не вызывается - PullRequest
1 голос
/ 09 февраля 2020

Я сейчас пытаюсь написать свой собственный подкласс threading.Thread. Однако кажется, что вызов __init__ для подкласса не работает, потому что я всегда получаю AttributeError в функции run, когда я хочу обратиться к своим собственным переменным класса с помощью self.x.

Вот мой код:

class MonitoringWorker(threading.Thread):
    def __int__(self, threads_hashtag: int = 1, threads_image: int = 4, threads_user: int = 1):
        self.threads_hashtag = threads_hashtag
        self.threads_image = threads_image
        self.threads_user = threads_user

        self.queue_hashtag = Queue()
        self.queue_image_meta_first = Queue()
        self.queue_image_meta_second = Queue()
        self.queue_image_meta_third = Queue()
        self.queue_user = Queue()
        super().__init__()

    def run(self):
        workers_hashtag = [HashtagWorker(self.queue_hashtag, self.queue_image_meta_first, i) for i in range(self.threads_hashtag)]
        # do stuff


if __name__ == '__main__':
    m = MonitoringWorker()
    m.start()
    m.join()

Кто-нибудь может объяснить поведение?

1 Ответ

1 голос
/ 09 февраля 2020

У вас есть опечатка __init__, а не __int__:)

...