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. I’m definitely a Pythonista and a Pythoneer. I was even featured as the PyDev of the Week on DZone!
These days, it is best to use Python 3. Packages can easily be installed and managed using pipenv, which is porcelain on top of pip, Pipfile, and virtualenv. 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. Arcade Academy teaches beginners how to program with Python by making games. Python Programming on Wikibooks is another excellent free resource for learning Python. If you’re interested in ethical hacking, read this guide from Comparitech. Check out Speaking Pythonese to learn key terms used by the community.
Python Testing 101
Python Testing 101 is my series on Python test automation. See Why Python is Great for Test Automation.
- Python Testing 101: Introduction
- Python Testing 101: unittest
- Python Testing 101: doctest
- Python Testing 101: pytest
- Python Testing 101: behave
- Python Testing 101: pytest-bdd
- Python BDD Framework Comparison
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. The Django REST Framework makes it easy to create REST API endpoints, too. Django projects can be seamlessly deployed to Heroku.
- Django Admin Translations
- Django Favicon Setup (including Admin)
- Django Projects in PyCharm Community Edition
- Django Projects in Visual Studio Code
- Django Settings for Different Environments
- Easier Grep for Django Projects
- Starting a Django Project in an Existing Directory
Conferences and Meet-Ups
I love being part of the Python community. Check out my Speaking page to see my talks and reflections.