Как продолжить выполнять функцию и цикл одновременно?

Мне нужно чтобы продолжилось выполнение main() а также началось выполнение timer()

def timer():
    while True:
        time.sleep(3)
        print("Текст цикла")



def main():
    timer()
    
    print("Текст функции")

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

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

Сначала надо открыть учебник по Python и прочитать что нибудь про Потоки и процессы в Python. Это идеальный путь. Путь по проще - ограничиться какой-нибудь информацией из интернет, ну например:

https://devpractice.ru/python-lesson-22-concurrency-part-1/
https://gb.ru/posts/python_threading_part1
https://www.youtube.com/watch?v=Ad5fHlFHbOg
→ Ссылка
Автор решения: zankorobos

Для таких функций в python используется модуль threading. Вот пример реализации вашей задачи с использованием данного модуля:

import threading
import time

def timer():
    while True:
        time.sleep(3)
        print("Текст цикла")



def main():
    t1 = threading.Thread(target = timer)
    t1.start()
    print("Текст функции")

main()

В строке t1 = threading.Thread(target = timer) мы создаем поток и в параметр target указываем функцию, которую он будет выполнять.

В строке t1.start() мы запускам поток

→ Ссылка