我们可以将此函数值传递给变量吗?
import threading
import time
ser = 1#serial.Serial('/dev/ttyUSB0')
var = 0
def handle_data(data):
print(data)
var = data
def read_from_port(ser):
while True:
print("reading from serial")
reading = 1#ser.readline().decode()
handle_data(reading)
time.sleep(1)
thread = threading.Thread(target=read_from_port, args=(ser,))
thread.start()
input()
print(var)
无法获得var value 1
。
答案 0 :(得分:0)
变量var
可能采用局部范围。使用python global
语句,以便解释器可以确定var
的完整范围。
例如:
def handle_data(data):
global var
print(data)
var = data
这里有一个有关python全局变量和变量范围的简单教程:https://www.geeksforgeeks.org/global-local-variables-python/