在这段代码中发生了一些奇怪的事情——至少对我来说是这样。
我有一个从 WS 方法中回忆的函数。我的功能是这样的:
try:
tipo = d['id_tipo_offerta']
params = OFFERTA_MAP_DICT[tipo]
params.append('days_constraints')
except Exception, s:
self.log_int_raise("core.struttura._parseDictOfferta(): 1 Error=%s", RED(s))
省略的内容OFFERTA_MAP_DICT
(在这种特定情况下是一个空列表)我想知道为什么,如果我第一次调用这个函数,值params
将会是['days_constraints']
,而每隔一次我仍然记得这个函数,params 的值将['days_constraints','days_constraints',....,'days_constraints']
与n元素,其中n是我回忆这个函数的次数。
我的第一个作业是通过引用完成的吗?
编辑:
这些是我的地图
OFFERTA_MAP_DICT= {
ID_OFFERTA_SCONTOCAMERA: ID_OFFERTA_SCONTOCAMERA_KEYS,
ID_OFFERTA_BEFOREDATE: ID_OFFERTA_BEFOREDATE_KEYS,
ID_OFFERTA_BEFORENDAYS: ID_OFFERTA_BEFORENDAYS_KEYS,
ID_OFFERTA_XFORY: ID_OFFERTA_XFORY_KEYS,
ID_OFFERTA_SCALARE: ID_OFFERTA_SCALARE_KEYS,
ID_OFFERTA_PACCHETTI: ID_OFFERTA_PACCHETTI_KEYS,
ID_OFFERTA_LAST_MINUTE: ID_OFFERTA_LAST_MINUTE_KEYS,
ID_OFFERTA_ADVANCE: ID_OFFERTA_ADVANCE_KEYS
}
OFFERTA_ROOM_MAP_DICT= {
ID_OFFERTA_SCONTOCAMERA: ['id_tipo_sconto', 'valore_sconto', 'id_tipo_prezzo'],
ID_OFFERTA_BEFOREDATE: ['id_tipo_sconto', 'valore_sconto', 'id_tipo_prezzo'],
ID_OFFERTA_BEFORENDAYS: ['id_tipo_sconto', 'valore_sconto', 'id_tipo_prezzo'],
ID_OFFERTA_XFORY: [],
ID_OFFERTA_SCALARE: [],
ID_OFFERTA_PACCHETTI: ['prezzo'],
ID_OFFERTA_LAST_MINUTE: ['id_tipo_sconto', 'valore_sconto', 'id_tipo_prezzo']
}