photo by bogitw
The time has arrived where I’ve needed to learn more Python for a project I’m working on. Here, I share some resources, thoughts and tips in case you find yourself also needing to learn Python, too.
Python is an interpreted object-oriented language. This means you can launch the Python console in interactive mode and throw commands into it line by line for execution, this includes functions as well. I found it very useful for learning Python, saves some time on compilation and generally feels more accessible.
My Python learning path was different from Steven’s as I know many other programming languages so was able to make comparisons. I chose to not spend too much time on video lessons, preferring browsing through tutorials and learn by doing.
I found the idea of this Codecademy course very appealing, it combines theory with the interactive exercises. However, it’s designed for very broad audience, it is suitable for absolute beginners, while I quickly found it boring.
The course I found useful is Google’s Python class. It’s designed for the Python version 2, so the code exercises require small edits to run with the current version. Otherwise, this is a great place to start.
Fast forward, I’ve spent significant time reading through the official tutorials, exploring concepts which I haven’t seen yet. I found this tutorial to be comprehensive.
The next resource I’ve tried was the gamified coding experience with CheckIO. This is pure learning by doing. It doesn’t give you any theory and assumes that you’ve already learnt some basics somewhere else. This is probably the best learning resource I’ve ever seen. Problems start from elementary level, but soon you can switch to more complex ones. It is totally worth checking other people’s solutions on the task you’ve just solved as you can learn some resource-efficient techniques and elegant ways of writing code in Python.
Another useful resource I want to mention is O’Reilly’s “Python Cookbook”. It is a more advanced level of Python through smart problems to solve. The discussion section after each problem provides a lot of explanation and other ways of solving this or similar problems.
After you feel that you’ve learned most of it, check this quiz. You can also use it for learning, each question is accompanied with a link to a video lesson and provides explanation.
As you can probably guess, I have used Python for working with the data. The module called Pandas allow custom SQL execution, it loads data into data frames, which is an equivalent of tables, and allows some basic manipulation of the data. It is also nice to have PandasGUI, which is a graphic interface for Pandas structures. It can help exploring the data frame visually, in tabular mode or even in graph visualisation.