import pickle

class AddressBook:

    dict = {}

    def addphone(self, name, phone):
        if name not in AddressBook.dict.keys():
            AddressBook.dict[name] = phone
        else:
            print('{0} at that moment in dictionary'.format(name))

    def printbook(self):
        if not all(keys == 0 for keys in AddressBook.dict.keys()):
            for name, phone in AddressBook.dict.items():
                print('name: {0}\tphone: {1}'.format(name, phone))
        else:
            print('Dictionary is empty.')

    def deletePhone(self, name):
        if name in AddressBook.dict.keys():
            del AddressBook.dict[name]
        else:
            print('No {0} in dictionary'.format(name))

    def changephone(self, name, newphone):
        if name in AddressBook.dict.keys():
            AddressBook.dict[name] = newphone
        else:
            print('No {0} in dictionary'.format(name))

    def searchphone(self, name):
        if name in AddressBook.dict:
            print(AddressBook.dict[name])
        else:
            print('No {0} in dictionary'.format(name))

    def savebook(self):
        pickle.dump(AddressBook.dict, open('dict.p', 'wb'))

    def loadbook(self):
        dict2 = pickle.load( open('dict.p', 'rb'))
        print(dict2)
