A couple weeks ago, I started learning Python. There are a few reasons I chose Python as the next language I wanted to learn after learning JavaScript. These were criteria:

  • Python is used in web development
  • Python has true classes, unlike JS, resulting in real object-oriented programming
  • There are many many jobs available for Python developers
  • The design of Python seems well thought out compared to JavaScript
  • Python syntax and forced indentation results in neatly structured code

I started my learning by delving into the Python track on Treehouse. For learning new coding concepts/technologies, I prefer learning by videos and short exercises over using books. If you are the same, I highly suggest checking out Treehouse or Code School or any of the other similar sites. They can be a great way to jumpstart your learning.

After tackling the Python track on Treehouse, I completed a smattering of problems on both Exercism and CodeWars. These sites are awesome for developing strong fundamentals in a particular programming language.

Honestly, I still feel fairly weak in Python. But I do know the basics, and I feel confident that I can effectively Google my way through most problems. I also feel that I learn best when building things. How else can you come across real world problems and find ways to solve them?

On Monday of this week, I decided to start a Django tutorial. I chose Django because it is, from what I can tell, the most popular Python web framework and it is supposed to have great documentation. I started the tutorial on the official Django website:


My only experience with web development is with full stack JavaScript, so the idea of setting up my Django application was a bit daunting. Thankfully, this tutorial walks you through every step needed to setup your first Django application, including linking to other tutorials where it might be necessary. There are 6 parts to the tutorial, and I have completed the first 2 parts. Here are a few tips if you are getting started with Python and Django:

  • Follow this guide for installing Python 3 on your Mac: [http://www.macobserver.com/tmo/article/how-to-upgrade-your-mac-to-python-3]
  • Follow this guide for virtualenv and virtualenvwrapper: [http://docs.python-guide.org/en/latest/dev/virtualenvs/]
  • If you have issues with virtualenvwrapper, try using easy_install instead of pip3. This solved a problem I had when trying to perform source /usr/local/bin/virtualenvwrapper.sh.