A line-by-line description of this code would miss the point of much of it. It uses classes, which are a way to implement object-oriented programming, a high-level way of thinking that narrow focus on single lines wouldn't be adequate for capturing at the level a human is meant to understand the code.
So my question for you is: what do you know of programming? Why are you asking about this piece of code in particular? I think it would be best if you tried to describe the code yourself, and we filled in any gaps or provide any corrections. This will help us understand what we ought to be describing to you, since an absolute beginner programmer certainly would need the line-by-line for learning programming (and Python), but to do so on this code would be very, very confusing. This is the kind of code meant to be understood once you can handle individual lines by yourself.
If you do know zero programming, I would suggest you start here
Due to the reasons discussed here
we will be moving to python-forum.io
on October 1, 2016.
This forum will be locked down and no one will be able to post/edit/create threads, etc. here from thereafter. Please create an account at the new site to continue discussion.