I am writing a program to add to and update an address book. Here is my code:
EDITED
import sys
import os
list = []
class bookEntry(dict):
    total = 0
    def __init__(self):
        bookEntry.total += 1
        self.d = {}
    def __del__(self):
        bookEntry.total -= 1
        list.remove(self)
class Person(bookEntry):
    def __init__(self, n):
        self.n = n
        print '%s has been created' % (self.n)
    def __del__(self):
        print '%s has been deleted' % (self.n)
    def addnewperson(self, n, e = '', ph = '', note = ''):
        self.d['name'] = n
        self.d['email'] = e
        self.d['phone'] = ph
        self.d['note'] = note
        list.append()
    def updateperson(self):
        key = raw_input('What else would you like to add to this person?')
        val = raw_input('Please add a value for %s' % (key))
        self.d[key] = val
def startup():
    aor = raw_input('Hello! Would you like to add an entry or retrieve one?')
    if aor == 'add':
        info = raw_input('Would you like to add a person or a company?')
        if info == 'person':
            n = raw_input('Please enter this persons name:')
            e = raw_input('Please enter this persons email address:')
            ph = raw_input('Please enter this persons phone number:')
            note = raw_input('Please add any notes if applicable:')
            X = Person(n)
            X.addnewperson(n, e, ph, note)
startup()
When I run this code I get the following error:
in addnewperson
    self.d['name'] = n
AttributeError: 'Person' object has no attribute 'd'
I have two questions:
UPDATED QUESTIONS
1. why isnt the d object being inherited from bookentry()?
I know this question/code is lengthy but I do not know where to go from here. Any help would be greatly appreciated.
 
     
     
    