Как продолжить выполнять функцию и цикл одновременно?
Мне нужно чтобы продолжилось выполнение 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() мы запускам поток