python3如何獲取子線程中函數(shù)返回值
python3獲取子線程中函數(shù)返回值
先看如下例子
import threading
def video(num):
if num<10:
signal=0
else:
signal=1
return signal
class judge_video(threading.Thread):
"""docstring for judge_video"""
def __init__(self, arg):
super(judge_video, self).__init__()
self.arg = arg
def run(self):
self.result=video(self.arg)
def get_result(self):
return self.result
if __name__=="__main__":
num=int(input("輸入整數(shù):"))
video_one=judge_video(num)
video_one.setDaemon(True) #設(shè)置守護進程,主線程結(jié)束時,不管子線程有沒有結(jié)束都會退出進程
video_one.start()
video_one.join(5) #設(shè)置主線程等待子線程運行5秒后繼續(xù)進行主線程操作
print(video_one.get_result())通過繼承threading模塊中的Thread類創(chuàng)建新類judge_video,重載thread的run()方法,線程通過start()方法創(chuàng)建后就會執(zhí)行run()方法,在run方法中調(diào)用函數(shù)video()并獲取返回值,新建函數(shù)get_result()用來在類外使用函數(shù)的返回值。
類judge_video實例化時,參數(shù)num通過arg參數(shù)傳入。
Python3函數(shù)的返回值 return
返回值
作用:
為函數(shù)指定運行的結(jié)果值 , 該值將返回到函數(shù)調(diào)用位置
注意事項
1.如果一個函數(shù)沒有設(shè)置返回值 ,使用變量接收時結(jié)果為None
2.同一個函數(shù)執(zhí)行過程中只能執(zhí)行一次return語句,執(zhí)行return語句后 ,return后面的內(nèi)容將不再執(zhí)行, 函數(shù)執(zhí)行完畢
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
numpy中的delete刪除數(shù)組整行和整列的實例
今天小編就為大家分享一篇numpy中的delete刪除數(shù)組整行和整列的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
Pytorch抽取網(wǎng)絡(luò)層的Feature Map(Vgg)實例
今天小編就為大家分享一篇Pytorch抽取網(wǎng)絡(luò)層的Feature Map(Vgg)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
Jupyter notebook命令和編輯模式常用快捷鍵匯總
這篇文章主要介紹了Jupyter notebook命令和編輯模式常用快捷鍵匯總,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
關(guān)于Tensorflow中的tf.train.batch函數(shù)的使用
本篇文章主要介紹了關(guān)于Tensorflow中的tf.train.batch函數(shù)的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04

