语言:Python
我希望在执行开始时将变量的值初始化为零。该变量用于函数&它的值也可能在函数内改变。但是,每当进行函数调用时,我都不希望此变量的值重置为零。相反,它的值应该等于其先前函数调用的更新值。
示例:
get_current()
在调用时会不断返回不同的值。
ctemp
最初为零。
在第一个函数中,get_current_difference()
将返回cdiff
&然后更新ctemp
的值ctemp = current
。
在第二个函数调用中,ctemp
的值不应为零。相反,它应该等于第一个函数调用的更新值。
import serial
arduino = serial.Serial('/dev/ttyACM1',9600)
ctemp = 0
def get_current():
line = arduino.readline()
string = line.replace('\r\n','')
return string
def get_current_difference():
global ctemp
current = get_current()
cdiff = float(current) - ctemp
return cdiff
ctemp = current
while 1:
current = get_current_difference()
print(current)
答案 0 :(得分:1)
在设置ctemp
的值之前返回return cdiff
ctemp = current
必须成为
ctemp = current
return cdiff
答案 1 :(得分:1)
您正在描述可变状态和修改它的函数,这是类的用途。
var flag = false;
(function setTweets() {
$.ajax({
type: "GET",
url: "../tweets/get_latest_tweets",
success: function(data) {
//clear all children first
$('#tweets-list').children().remove();
for (var i = 0; i < data.length; i++) {
$('<li>' + data[i].text + '<div class="card-footer bg-twitter"><div class="card-profile-image"><img src="' + data[i].pic + '" class="rounded-circle img-border box-shadow-1" alt="Card Image"></div>' +
'<footer class="blockquote-footer bg-twitter white"><strong>@' + data[i].screen_name + '</strong></footer></div></li>').appendTo($('#tweets-list'))
}
if (!flag) {
$('#tweet-slider').unslider('calculateSlides');
flag = true;
}
},
error: function(err) {
console.log(err);
}
}).then(function() {
setTimeout(setTweets, 8000); //Todo: Check how to do this async (dynamic adding of points)
});
})();
例如,如果要使用多个温度监视器,则使用类缩放。