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.
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.|
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.
|PythonSherpa||This website... :-)|
|StackOverflow||The world's leading "question and answer" forum for developers.|
|GitHub||A platform for sharing and hosting code.|
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.|
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|
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.|
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|