그래서 파이썬 사전을 추가하고 업데이트하고 있습니다. 현재보기에는보기가 어렵고 읽기가 어렵습니다. 같은 것을하기에 더 좋은 방법이 있습니까?파이썬 사전 값 업데이트
if not transaction_id in self.transaction_log:
self.transaction_log[transaction_id] = {
'gross_total': 0,
'net_total': 0,
'qty_total': 0,
'tax_total': 0
}
self.transaction_log[transaction_id]['products'] = {}
# create a list of dics to be reused in
# other class methods
self.transaction_log[transaction_id].update({
'transaction_id': transaction_id,
'transaction_time': transaction_datetime,
'location_id': location_id,
'till_id': till_id,
'employee_id': employee_id,
})
self.transaction_log[transaction_id]['products'][product_id] = {
'gross': gross,
'net': net,
'tax': tax,
'qty': qty
}
self.transaction_log[transaction_id]['gross_total'] += gross
self.transaction_log[transaction_id]['net_total'] += net
self.transaction_log[transaction_id]['qty_total'] += tax
self.transaction_log[transaction_id]['tax_total'] += qty
tax
우리가이 코드에 대한 좀 더 컨텍스트가 없습니다 반전처럼 보인다? 이미 작동하는 코드를 단순히 리팩토링하는 것은 대개 http://codereview.stackexchange.com에서 처리됩니다. –두 가지 사항은 스 니펫 시작 부분에서'self.transaction_log [transaction_id]'에 대한 참조를 작성하여 참조 할 수 있도록하는 것입니다 로컬 변수로서'self.transaction_log [transaction_id] [ 'products'] = {}'를 설정하지만 바로 위의 정의에서'products ': {}'를 추가 할 수 있습니다. –