Where to start when learning programming with Python
As usual, when starting looking for information when learning a new skill or about a new topic, it’s difficult to find relevant resources.
Especially technical topics can feel intimidating to even start in the first place.
Python wasn’t the first language I learned, but it is by far my favorite. Python is volatile language that can be used in many different topics you can dive into after understanding the basics, like math & statistics with Python, data processing, machine learning, web-programming and embedded programming. But before that, one has to get started.
As a Python ambassador I often get questions about where to find useful resources. In this post I won’t explain the details of Python, but rather want to point to resources that I found helpful to get started. Also this is a living list, meaning that I keep the freedom to update and extend it from time to time.
Getting started
If you never have written a line of code and approach Python as your first programming language, then you can have a look at the following links. Please don’t go through all of the tutorials and books. Choose one or two of them depending on the format that you learn from best:
Web pages:
- https://www.learnpython.org/
An interactive web page, were you can get a grasp of the language and structure without any need to set something up. It’s great to just get started without struggling to find the right tools or installation files. - https://www.w3schools.com/python/python_intro.asp
A more general introduction to the language, you can check out on W3School, which is the go to side of web programming basics.
Books (online):
- https://www.py4e.com/
All material for the book “Python for Everybody” by Dr. Charles R. Severance, with also a PDF version available linked from that page http://do1.dr-chuck.com/pythonlearn/EN_us/pythonlearn.pdf - https://greenteapress.com/wp/think-python-2e/
“Think Python” by Allen B. Downey introducing programming and Python for beginners
Courses & Tutorials:
- https://realpython.com/python-first-steps/
A lot of free tutorials and information available without a paid membership. - https://www.coursera.org/learn/python?specialization=python
Respective course from the author “Python for Everybody” by Dr. Charles R. Severance on Coursera. Choosing the certificate option might require payment.
After writing some lines of code or maybe just a single one you will run into problems and that is a crucial part of the learning process. Embrace your errors as a learning opportunity.
Troubleshooting:
- www.stackoverflow.com
Maybe the largest forum for developers, where people share and discuss their code, architecture, error messages, careers and more - https://www.fullstackpython.com/debugging.html
Learn how to debug and understand the tools - Local Python communities like https://www.python.org/events/python-user-group/ and https://pyladies.com/locations/ to meet your peers, share and discuss
Very few programmers are writing code only with an editor and command line. If you want to use a proper IDE (integrated development environment) or avoid installing Python on your computer locally, have a look at the following links. Again choose one and try it out for a bit, don’t fall in the trap to get obsessed with tools.
Writing code:
- https://www.jetbrains.com/pycharm/download/
https://visualstudio.microsoft.com/vs/community/
Most popular editors for Python PyCharm and Visual Studio - https://colab.research.google.com/notebooks/intro.ipynb
With a google account you can code in the cloud without the need to install Python locally - https://mybinder.org/
Interactive code with Jupyter notebooks in the browser (needs pre-existing code in form of a Github repository)
I really hope you found a starting point for your learning journey and enjoy exploring the world of Python and programming in general.
Happy learning and let me know how it goes.