Уведомления

Группа в Telegram: @pythonsu

#1 Июль 14, 2018 16:48:24

nik.iwan2017
Зарегистрирован: 2017-06-17
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

передача параметров из функции и возвращение результата в эту фкнкцию

Доброго времени суток всем. Возникла нембольшая проблемка, не могу возвратить результат работы функции в функцию, из которой она была вызвана. Может кто-нибудь помочь, что не так?

 import threading
def work (inic):
    sum_=inic+'0000'
    print(sum_)
    return sum_
def fist():
    print('fist!')
    mass_data = threading.Thread(target=work, args'1'))
    mass_data.start()
    print('OK!')
    Как тут принять результат (10000), чтобы дальше с ним работать внутри этой функции?
    print(sum_)
fist()
Если это делать без потоков, то все получается, но мне необходимо, чтобы именно в отдельном потоке вызывалась функция.
def work (inic):
    sum_=inic+'0000'
    print(sum_)
    return sum_
def fist():
    print(work('1'))
fist()

Отредактировано nik.iwan2017 (Июль 14, 2018 16:58:08)

Офлайн

#2 Июль 14, 2018 18:22:13

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

передача параметров из функции и возвращение результата в эту фкнкцию

nik.iwan2017
Как тут принять результат
Никак. В этот момент нет никаких гарантий что он существует.
nik.iwan2017
но мне необходимо, чтобы именно в отдельном потоке
Очень интересно. Это у вас карма такая все в отдельных потоках вызывать? Проку в такой постановке от потоков никакой благодаря gil.

По поводу передачи данных. Передайте в функцию work объект, например список и запишите результат в него. Есть множество других способов вернуть результат.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version