Python: поток запускается без команды запуска

При запуске следующего кода стартует поток, который запускает функцию (Вывод программы: "Function" ). Но команды tmp.start() не было. Как это возможно? Python 3.8.2

import threading


def func():
    print("Function")


tmp = threading.Thread(target=func())

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

Автор решения: nomnoms12

Вы вызываете func, передавая не её объект параметром target, а её результат (None):

threading.Thread(target=func())
#                           ^^

Аналогично (только в Вашем случае):

func()
threading.Thread(target=None)


Передавайте именно объект, не вызывая его:

threading.Thread(target=func)
→ Ссылка