Why do you create “empty_dict”? It is not referenced anywhere else, and I don’t see the purpose of it.
Edit: I like you wanted to sum up the magic methods in Python, but some parts of your code are just confusing. Have you tried passing a single key to the constructor, but longer than a single character? Using len(key) in the __init__ method, without checking the type of the key may lead to some issues you didn’t foresee 😉