Python is my favorite programming language. It is simple yet powerful, crisp yet comprehensive, flexible yet structured – “Pythonic“. I once heard at a conference, “Python is a magical tool that easily lets you solve the world’s toughest problems.” I believe Python is one of the best languages for test automation, and I also develop websites using the Django framework.
These days, it is best to use Python 3. Packages can easily be installed using pip, and virtual environments make it easy to isolate package installations. I recommend using JetBrains PyCharm for developing Python code. The free Community Edition will likely meet most of your needs (even for Django projects). Udacity, Codecademy, and learnpython.org all offer great online courses in Python for free. Python Programming on Wikibooks is another excellent free resource for learning Python.
Python Testing 101
Python Testing 101 is my series on Python test automation.
- Python Testing 101: Introduction
- Python Testing 101: unittest
- Python Testing 101: doctest
- Python Testing 101: pytest
I also gave a lecture entitled “Testing is Fun in Python!” at the PyData Carolinas 2016 conference.
Django is a well-designed, batteries-included Python web framework. Anyone who knows Python can learn it easily (even those with little to no web dev experience), and its documentation and tutorials are great. Django also automatically provides a powerful admin interface for easy site maintenance. As a framework, its power is primarily on the backend, but it can easily integrate with frontend frameworks like Angular. Django projects can be seamlessly deployed to Heroku.