The python version we're going to standardize on is Python 2.7 - this is because it's simpler to learn and use than Python 3, and there are a large number of libraries that still do not support Python 3. We'll switch over when all of the major data analysis libraries and Flask switches over to Python 3. Here's some thoughts from the authors of Flask about it.
If you don't have any experience with Python at all, the first place to start is Learn Python The Hard Way.
- Get comfortable with the syntax of Python with exercises 0 through 39
- Take a tour of Object Oriented Python with exercise 40, 41, and 42
- Understand Inheritance with exercise 44[^1].
- The Python 2.7 Docs
- A Project Skeleton - a guide to starting a Python project by Zed Shaw
- A Flask Starter Project - something you can clone and start immediately
- A great Python Cheatsheet
- Guessing Game
- Calculator - Part One
- Calculator - Part Two
- List Operations
- Data Structures
- State and Traversal
- Extra Data Structures
- Python Review - For people with some python experience already
- Markov Chains - test your basic algorithmic thinking
[^1] The author has a lot of opinions here about inheritance, which I endorse. Try to stay away from too much abstraction in Python, as it's meant to be simple and readable, and inheritence tends to really needlessly complexify programs that are pretty simple.