<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def person(self, person_id):
        '''Access a Person object by id'''
        if not self.cache['persons'].get(person_id, None):
            try:
                person_xml = self.bc.person(person_id)
                p = Person(person_xml)
                self.cache['persons'][person_id] = p
            except HTTPError:
                return None
        return self.cache['persons'][person_id]