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.”
Technology specialist Alex Magnin (who has previously written for Digiday and the Observer) recommended learnpython.org when asked for resources that had assisted him in learning Python; “Personally I find the best way to learn is by doing rather than reading, so video tutorials are the most helpful to me as I can follow along as they explain their process so that I can understand exactly what I am writing.”
“As well as this, learnpython.org is an incredible resource. Not only does it explain pretty much each line by line but it gives you small tasks to do as you complete the course so that you are cementing your understanding. The platform also teaches you many beginner programs in order to acquaint you with the syntax and develop your skills.”
Edx is a firm favourite with many coders looking to improve their knowledge and unsurprisingly was cited by one of our specialists, Eric Sander, founder and programmer at iActivation: “My favorite Python tutorial is Python Basics for Data Science led by IBM.”
“This course is designed for developers who have limited time and want a fast-paced introduction to Python. It will be especially good for those who need to know some Python coding skills to really break out into the wider field of data science.”
“Instead of directly diving into coding as a construct, the instructor starts each lesson by analyzing the construct and how to use it and ends with a quick introduction to object-oriented programming. This is great because it will help you understand Python better.”
“To help you write efficient code, this course also touches on measuring the performance of your code. What's more, there are lab exercises and quizzes after every few lessons to help you put your newly acquired knowledge into action to solve a problem.”
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.”
Experienced web developer and consultant for PickFu, William Chin recommended Coursera in his response; “Over the last two years, I've taken a great deal of interest in Python for task automation and all around technical prowess.”
“It's a beautifully written language with a lot of 21st century applications for your modern day digital entrepreneur. That being said, my background was more on the business and finance side so I wanted to ramp up my skills to a point where I could count myself as a technical manager.”
“I have done (and am still doing) multiple Python courses online to help bolster my skills.”
“The Google Crash Course on Python from Coursera is well renowned, I recently finished this first crash course, the videos are very instructional and the tests are quite challenging. That being said, this course is not built for beginners with no prior coding experience.”
“I'm relatively strong at PHP, HTML, CSS - with some skill in Python, and I struggled with some of the lessons at the end.”
“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.”
Code Academy is our last (but certainly not least) selected resource for learning Python as it greatly helped Neil John from the blog One Computer Guy brush up on his skills for understanding this programming language; “My source of Python learning was Code Academy. Starting from the very basics and learning everything up to all the functions, lists, loops, etc.”
“I found Code Academy a very intuitive source to learn programming where you have a code editor readily available to consistently practice what you learn.”
“The platform offers a series of beginner courses followed by intermediate ones. I completed all of the courses to get a firm hold of the language. The courses are free; all I had to do was create an account on the website to get started.”
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 send your recommendations to email@example.com.
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?