put all of your code in single monstrous file finding sensible and intuitive module and package structure for large codebase often takes bit of workbut it is especially important to get right in teams each module should be internally cohesiveand it should be as obvious as possible where to find functions and classes responsible for each area of functionality advanced ipython features making your own classes ipython-friendly ipython makes every effort to display console-friendly string representation of any object that you inspect for many objectslike dictslistsand tuplesthe built-in pprint module is used to do the nice formatting in user-defined classeshoweveryou have to generate the desired string output yourself suppose we had the following simple classclass messagedef __init__(selfmsg)self msg msg if you wrote thisyou would be disappointed to discover that the default output for your class isn' very nicein [ ] message(' have secret'in [ ] out[ ]ipython takes the string returned by the __repr__ magic method (by doing output repr(obj)and prints that to the console thuswe can add simple __repr__ method to the above class to get more helpful outputclass messagedef __init__(selfmsg)self msg msg def __repr__(self)return 'message%sself msg in [ ] message(' have secret'in [ ] out[ ]messagei have secret ipythonan interactive computing and development environment www it-ebooks info