# Learn Python

## My favourite introductions to Python

1. Oleksii Trekhleb's [Playground and Cheatsheet for Learning Python](https://github.com/trekhleb/learn-python)
2. [Python introduction](https://lectures.quantecon.org/py/index_learning_python.html) at QuantEcon
3. ["The Python language" chapter](http://scipy-lectures.org/intro/language/python_language.html) in SciPy lectures

## Introductory books on Python 

A popular online book with good content is [The Hitchhiker’s Guide to Python](https://docs.python-guide.org). But something about the author approaches in other projects that [I do not quite like](https://vorpus.org/blog/why-im-not-collaborating-with-kenneth-reitz/).

Older online or print books, still often recommended:

- [Zed Shaw. Learn Python the Hard Way](https://learnpythonthehardway.org/python3/) (online)
- [Mark Pilgrim. Dive into Python](https://www.diveinto.org/python3) (online)
- [Mark Lutz. Learning Python](https://learning-python.com/index-book-links.html) (print)

## Best practices

Not quite introductory, but useful as review:

- [Best of the Best Practices (BOBP)](https://gist.github.com/sloria/7001839)
- [Google style guide](https://github.com/google/styleguide/blob/gh-pages/pyguide.md)
- [Dmitry Mugtasimov's blog post](https://dmugtasimov-tech.blogspot.com/2016/12/my-python-software-development-practices.html)

## Installation

Common options to install Python are the following:

- Local computer: [Anaconda distribution](https://www.anaconda.com/distribution/)
- Remote notebook: [Google Colab](https://colab.research.google.com/)
- Quick examples: [Repl.it](https://repl.it)

<!-- TODO: add link to tweet -->