-1
我在另一個發送和接收許多類似消息的程序中使用Python。本質上,程序發送一個「地址」和「值」。爲了儘可能簡潔,我製作了一本詞典作爲開關/案例聲明。但是,在我進入代碼之前,我想確保我正在編寫最高效的代碼。在Python中對類似案例的字典的高效使用
許多消息非常相似(只有最後一位數字不同),我想知道是否有某種方式可以連接observe_volume_(digit)
個案。可能會有數百條消息被告知,並且將每條消息添加到字典中似乎有點荒謬,因爲消息已經變得很長,並且有六條消息。
def observe_volume_0(v):
op('constant4').par.value0 = float(v[0])
def observe_volume_1(v):
op('constant4').par.value1 = float(v[0])
def observe_volume_2(v):
op('constant4').par.value2 = float(v[0])
def track_0_name(v):
op('text1').par.text = v[0]
print(v[0])
def track_1_name(v):
op('text1').par.text = v[0]
print(v[0])
def track_2_name(v):
op('text1').par.text = v[0]
print(v[0])
incoming = {
'/track_0_name/x': track_0_name,
'/track_1_name/x': track_1_name,
'/track_2_name/x': track_2_name,
'/observe_volume_0/x': observe_volume_0,
'/observe_volume_1/x': observe_volume_1,
'/observe_volume_2/x': observe_volume_2,
}
def receive(message, args):
full = message.split()
target = full[0]
incoming[target](args)
return