Найти - Пользователи
Полная версия: передача параметров из функции и возвращение результата в эту фкнкцию
Начало » Python для новичков » передача параметров из функции и возвращение результата в эту фкнкцию
1
nik.iwan2017
Доброго времени суток всем. Возникла нембольшая проблемка, не могу возвратить результат работы функции в функцию, из которой она была вызвана. Может кто-нибудь помочь, что не так?
 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()
doza_and
nik.iwan2017
Как тут принять результат
Никак. В этот момент нет никаких гарантий что он существует.
nik.iwan2017
но мне необходимо, чтобы именно в отдельном потоке
Очень интересно. Это у вас карма такая все в отдельных потоках вызывать? Проку в такой постановке от потоков никакой благодаря gil.

По поводу передачи данных. Передайте в функцию work объект, например список и запишите результат в него. Есть множество других способов вернуть результат.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB