Python is a very popular high level programming language that is often compared to Perl, Java & Ruby. It is a general purpose scripting language that also implements the concepts of object oriented programming.
Python is commonly used for web development, IoT, machine learning & data analysis as it is particularly well suited to these areas of programming.
In this guide we’ll take you through some of the best tutorials, tips and resources to help get you started on your journey to becoming a Python programmer as recommended by our readers and experts in the industry.
Project Based Learning
Our first specialist Brendan Martin, founder of LearnDataSci, emphasised in his response that learning the basics of Python through tutorials can be further developed by working on a project of your choosing in his response;
“The best approach to learning Python is to use project-based learning. Pick up the basic Python syntax from any number of beginner YouTube videos, then decide on something you want to do as a project.”
“Pick something you're interested in because this will help motivate you to keep learning and progressing. A popular example of a project people use to learn Python is for trying to predict the stock market. This provides a great dose of motivation since the key reward is making money as a result of your Python knowledge.”
Our next expert CTO Mike Mulqueen is self taught in using Python and used his knowledge to built recruitment platform Digital Grads, he details his learning experience below and further supports Brenda’s comments in encouragement of project based learning:
“As a self-taught developer, I've tried lots of different techniques over the years. I began as a teenager, building webpages with HTML and PHP, but soon felt the need to pick up Python.”
“I started out using Mark Pilgrim's book Dive Into Python - but only made it part way through before moving my attention to topics I was more interested in.”
“This is the best way to learn, really. It's much easier to motivate yourself to solve problems you have in mind, rather than work through endless books written on the subject.”
“You might want to try building a simple web app with Flask or you might want to have a go at automating repetitive tasks with a Python script. I started with simple scripts, then making GUI applications with wxPython.”
“Some years later I kept finding myself dipping in and out of Python for different problems. I mainly learned by scratching itches: I used Python to fix issues during my Open University night course and to create better software packages in my early jobs which I eventually sold to my employer at the time a licence for this.”
“Even though I wasn't employed as a software developer, I followed software development trends - Python in particular - and must have picked up a lot by osmosis over the years.”
“For anyone self-taught, I think learning bad practices is always a risk. I've been coding for years, but along the way I've had to backfill the computer science theory that I'd have learned if I'd gone to university. I've also had to learn best engineering practices that I'm sure other developers learn early in their careers when they join established teams.”
“As long as you keep actively learning, this isn't a problem though. Working on and exploring open source projects provides another way to learn about best practices. If you've got a STEM background already, I think much of this is transferable to software development.”
“Even now, I'm always learning new things and trying out new approaches. Sometimes that's just playing about with new technologies that have caught my attention. Other times, it's doing some formal learning like a course. I think it's important to balance learning by practise and formal study to get the best of both worlds.”
“Being an outsider is always hard and I'm grateful for the supportive communities that have helped me become an insider. People who've taken the time to answer my questions on forums when I was younger, local groups for freelancers and programmers, etc. I'm now an occasional Codebar coach and I see how helpful that is for helping the next set of people to learn the Python language.”
“If you're new to programming in general, then CS50 is a brilliant course to learn Python and some computer science and software engineering basics. Or, if you're interested in data/statistics, you might enjoy MIT's Introduction to Computational Thinking and Data Science.”
Chanh Ho, Head of Medical Review at ConstantDelights had to learn Python from scratch whilst undertaking his postgraduate research and highly recommended Freecodecamp for their courses; “Freecodecamp offers unlimited access to all their courses at no cost which includes thousand hours of instructional videos and coding examples.
“More importantly, you can practice your coding skills with their small projects. Don't worry if you get stuck as there is an active community that is ready to support you with your coding.”
“After you’ve completed your course you will receive a certificate and if you're going for a job interview, there are also hundreds of examples there at your convenience to brush up on your skills.”
Sepy Bazzazi, former Python student at Lirned recommended Treehouse for teaching students everything they need to know about Python;
“I learned Python by signing up for a Treehouse account.”
“Treehouse provides courses to learn basic and advanced Python. Their courses combine videos with coding workspaces that allow you to learn Python by actually implementing the lessons you’re learning via video and practising alongside”.
“You’ll even get regular quizzes to test your knowledge before moving forward. The wider Treehouse community of students are also available to answer any questions that you may have throughout your learning experience.”
“If you’re just starting out, Programming for Everybody (Getting Started with Python) offered by the University Of Michigan is really good.”
“It’s where I started and I found the instructor to be very knowledgeable and also a great presenter. There are also many more courses that make up a Python specialization from Coursera that are well worth looking at.”
Do you know of any other tutorials or tactics that have helped you learn Python that we’ve missed out on? Then feel free to suggest your recommendations to firstname.lastname@example.org.
If you enjoyed this guide of getting started with learning to program then why not check out our article on how to learn Java with no prior programming experience?