I found this entry concerning init and python Why do we use __init__ in Python classes?
However, it doesn't really address my question so here it is.
I have a friend who has been asking me why we use the init method. He looks at my code and sees the init in classes with the keyword arguments and says "That's messy." Instead he uses a dictionary of keywords for the arguments and then creates his own function to embed them into the class.
I've explained that his code is unreadable for other people and it's going to be difficult to troubleshoot later. However is there a better argument for using the built in init method than what I've described here?