You can use the steps below to get up and running with Python. Use the check marks
on the left to mark tasks as completed. You need to be logged in to save your progress.
1. Cheat sheets
Before you start, download and/or print the following "cheat sheets". They will help you
get started faster.
Python Beginners
The basics of Python.
Jupyter Notebook
Keyboard shortcuts for Jupyter Notebooks.
Pandas
Data wrangling with Pandas.
2. Register at helpful websites
Also, before diving into the language itself, it is useful to register at the following
websites. I guarantee you that you will use these platforms at some point in the near future.
StackOverflow is the
place where developers all over the world help each other
out. It is a forum where you can ask questions and find answers. You’ll be
surprised by how many of the questions you will have, have already been asked
(and answered!) before. Register to become part of this community and contribute
by upvoting/downvoting.
GitHub is the leading platform
for hosting code. Many open source projects are published here. It is extremely
useful for version control and collaboration. Create an account so you can mark
your favourite projects and publish your own.
PythonSherpa
This website... :-)
StackOverflow
The world's leading "question and answer" forum for developers.
GitHub
A platform for sharing and hosting code.
3. Learn about Python packages
Below is a small sample of popular Python packages. You can use them for data analysis,
building or calling APIs, web scraping and creating graphical user interfaces (GUIs).
Even if you don’t need them all, it is good to learn a little bit about them. It will
make you familiar with the various capabilities and use cases of the programming
language. This list only contains links to documentation. It does not
contain any links to tutorials, because better sources are published regularly.
Just search and surf the internet to find tutorials you
like. You will be amazed by the sheer volume of quality content out there!
Pandas
Data structures and operations for manipulating numerical tables and time series.
Requests
The package for sending HTTP requests. Useful for API calls.
BeautifulSoup
A library for pulling data out of HTML and XML files.
Flask
A popular microframework for building API's and web applications with Python.
PyPDF2
Useful package to work with PDF files.
Matplotlib
A library for plotting graphs. Used for data visualisation.
Tkinter
A package for making simple GUIs (graphical user interfaces). Alternative: PyQt.
NumPy
Package to work with multi-dimensional arrays and matrices (often used with Pandas).
Pytest
The best package for writing (unit) tests efficiently to make your code more robust.
Django
The most used framework for building websites. Best to learn this one after "Flask".
Selenium
Browser automation. Let your computer surf the web.
Scikit-learn
This is where your data science journey starts. Tools for machine learning.
4. Practice with exercises
Like learning any other language, you need to practice, practice and practice. Check out
the following websites which offer various exercises.
Exercism
Get personal guidance from mentors on this open source platform.
HackerRank
Practice your skills and participate in competitions.
Regex Crossword
Crossword puzzles to practice your “regex” (regular expressions) skills
5. Integrated Development Environments (IDE)
You can use various text editors and “integrated development interpreters (IDEs)” to
write Python code. Explore these popular tools below and pick your favourite.
Anaconda
Installation and package manager of Python, with all the most popular packages included.
Jupyter Notebook
Beginner friendly and loved by data scientists.
PyCharm
More advanced integrated development environment (IDE).
Visual Studio Code
Currently the most popular open source editor (developed by Microsoft).
Spyder
IDE developed for scientists and engineers.
6. Intermediate/advanced concepts
After completing all the steps above, you are probably already able to develop some
code. Use the list below to explore more advanced topics. This list does
not contain any links, because newer and better resources are
published all the time. Just search and surf the internet to find tutorials you like. You
will be amazed by the sheer volume of quality content out there! You might also
want to take a look at the curated list of
learning materials,
recommended books and
videos.
Classes
Object oriented programming.
Virtual Environments
Keep dependencies required by different projects separated.
Regular Expressions
Finding specific patterns in strings.
Logging
Use logging instead of “print”.
Exceptions
Make your code more robust with “try/except”.
PEP 8
Guidelines and best practices for writing Python code.
Pylint
Code analysis, bug and quality checker.
Unit Tests
Make your code more robust by writing tests.
Debugging
There are multiple ways to debug your code.
PySpark
Big data & distributed computing.
Test Driven Development (TDD)
Obey the Testing Goat! https://www.obeythetestinggoat.com