Python is much like Java and at times even looks simpler. But Python is just as powerful as Java. If Java is the heavy metal of computer programming, then Python is the jazz that opens doors of freedom in software development. Both Java and Python are object-oriented programming languages. Both support Java’s famous features such as encapsulation, inheritance and polymorphism. Both can be used to develop desktop and web-based applications. Both are multi-platform and run on all major platforms such as Linux, MS Windows, and Mac OS. Both support graphical user interface development. Of course, there are also differences between Java and Python. For example, Java programs must be compiled, but in Python you have a choice of compiling your programs into stand-alone applications or running them as interpreted scripts or programs launched by a command from the Command Prompt. There are many other similarities and differences between these two languages, and those similaries make it a lot easier than you might think to learn Python, if you already know Java. While learning Python myself, I realized how fast and easy it was to understand and pick up Python’s syntax when I started converting Java’s programming problems into Python. I had already known Java and worked with it professionally for some time, but I found myself having to learn Python fast to advance in my career. It motivated me to find a way to harness my existing knowing to speed up the process of learning a new language. This book is essentially a systematic presentation of the learning process I documented in learning Python using knowledge of Java.