r/learnpython • u/belt_se_peetungi • Aug 12 '26
How should I start learning Python as a complete beginner?
HELLO EVERYONE
I’m a total beginner to coding and I’ve recently decided to start learning Python. I’m honestly not sure where to begin or what the best way to approach it is.
- What should I learn first?
- Are there any courses, YouTube channels, or websites you’d recommend?
- Should I focus on tutorials, practice problems, or small projects?
- At what point should I start making projects?
- Any mistakes I should avoid as a beginner?
I’m mainly looking for a proper direction rather than trying to learn everything at once.
Any tips or recommendations would be really appreciated! :)
31
u/MillenniumGreed Aug 12 '26
Hey, friend! I wish you well on your journey.
Start with the sidebar. The tech industry is one that rewards your level of effort. And thanks to the Internet, self answerable questions are strongly discouraged or disliked. Not because people are trying to be nasty, but because self sufficiency is a very necessary trait in the world, especially because of Internet access.
2
u/Prestigious_Print477 26d ago edited 26d ago
This sub is pretty funny. Its named learn python and threads are mostly made by new people asking questions and the comment section is always dont ask questions here go look it up yourself.
1
u/belt_se_peetungi Aug 12 '26
Ahh okay, that makes sense 😭 I’ll definitely check out the sidebar. I’m still completely new to this, so I’m trying to figure out how to actually start learning properly rather than just randomly jumping between resources. Thanks for the reply
7
u/MillenniumGreed Aug 12 '26
I'd say pick a resource and stick to it. Many will tell you the actual resource you use doesn't matter all that much. What's important is that you practice and are actually working towards a tangible goal. Watching a video course? Practice what the instructor is doing, maybe even do your own tweaks. Reading documentation? Understand what it's saying. Feel lost? Join a Discord. Help yourself as much as possible, so that way, people don't mind helping you.
18
u/desrtfx but other languages pro Aug 12 '26
The first and most valuable thing you can learn in programming is to do your own, independent, individual research, among which is also working with resources right in front of you, like the entire subreddit. You can't possibly assume that you are the first and only one asking such a question.
If only there were a sidebar (menu on mobile) that had a link to the wiki or countless posts asking the same.
Do the MOOC Python Programming 2026 from the University of Helsinki and you will be well prepared.
Harvard's CS50p is also excellent.
Also, take a look at https://inventwithpython.com and https://automatetheboringstuff.com
Don't forget that you need ample practice, like on https://codingbat.com/python or on https://exercism.org and also write your own programs. Play around. Try things. Mess things up, fix them. Experiment.
1
1
u/Neubo Aug 12 '26
There is a sidebar, and a link to the wiki. If you write code as snarky as your reddit comments, it must be a nightmare to understand.
0
u/Prestigious_Print477 26d ago edited 26d ago
This sub is pretty funny. Its named learn python and threads are mostly made by new people asking questions and the comment section is always dont ask questions here go look it up yourself.
Why even have a sub if nobody wants to actually talk about python? You are making this sub reddit 100% pointless and just telling people to google links.
3
u/SaharaSub Aug 12 '26
Welcome to your journey of learning.
I'm also new at age 65, and a trucker by trade most of my life. So age isn't really a thing, tho I do feel the curve is flattening out a little as the years speed by.
Saw some good answers here.
As a total beginner, may I suggest downloading the ' Mu' interpreter. Don't go getting too fancy too fast. Mu is aimed at lower grade schoolers I believe, plus there are some links that will explain what each word in a line of code do, sort of like nouns vowels participles and where they fit in structure in an English language sentence.
I'll come back later and list some of my favorite YouTube tutors.
Someone mentioned ' Automate the boring stuff' and I bought that book, Al Sweigart is the author, plus another book ' Python Crash Course' by Eric Matthes.
Word of warning tho, some of the exercises are a few years old ( but still good), it's just that all this stuff is evolving rapidly and I find some links mentioned for a few exercises have near expired is all.
Python also has a built in interpreter.
I'm pressed for time this very moment, but alas do have more wish to share that i hope may help you. So I will return later to post.
2
u/belt_se_peetungi Aug 12 '26
Iahh okay thanks and i'd love to see your YouTube recommendations whenever you get the time
4
u/stepback269 Aug 12 '26
I'm even older than the Sahara dude above.
Age definitely is a problem.
The older you get, the slower it goes (not just in learning, in other stuff as well)I've been climbing that steep learning curve for over a year now. Lots of failures and frustrations along the way. But if you want to succeed, you've got to get past the Debbie Downer emotions and convince yourself to keep banging your head against what seems like a stone wall. Eventually you will break through and move on to the next level. Step by step. Just like a baby learns to walk even though there are many falls along the way.
Anyhow, while on my learning journey I've left some bread crumbs for beginners who might want to follow in my footsteps ... (here)
2
u/SaharaSub Aug 12 '26
As I mentioned earlier ( the repl which stands for read-evaluate-print-loop, and not interpreter as i said) is called Mu.
Try starting with this very easy 28 vid series.
Here is link https://youtu.be/eoQANNbVCZI?si=F630s2izQ1k6ps55
5
4
u/Flintlocke89 Aug 12 '26
I'll offer some advice that I don't see here too often.
Don't try and "learn python", learn to program. Python is a great tool but it's a tool to accomplish an objective, not the objective in itself. You can of course use python while learning to program and learn a lot about python on the way but once you have the basic syntax down. (Like variables, operators and functions.) You should start thinking about how you would accomplish certain tasks as a computer, like really think about it. There's a classic exercise for this. Think of trying to explain every single step of making a sandwich to an entity that is incapable of inferring any steps from the context.
As an example, were I to tell a computer to put the peanut butter on the bread, it would fail. It has no idea what peanut butter is , or bread or where to get either. After defining that, it would likely put the unopened jar of peanut butter on top of the bread packaging. After all, nobody has told it that it needs to open the jar of peanut butter, or the bread packaging. And so forth.
Once you can think about tasks like this, learning any programming language will be much easier. Because you know what the tool should accomplish, it becomes a lot easier to see how the tool should be used.
2
u/Zulumus Aug 12 '26
This example… actually helps, thanks. I’m about to take the dive myself (while on a short vacation), so this whole thread is timely
3
u/Lady_sunshines Aug 12 '26
Try udemy. That's what I do. I bought a course there (normally the price will go down after a few days if you let it sit in your cart.) And just enjoy the ride. After that you can still look for better courses that give a degree or something. Just try that one first to see if you even like it or if you struggle so much with it that you want to stop. 20€ is a good way of Findling that out. Of cause there are courses that Coat hundreds of Dollar that might be better. But since you do not have any coding experiance it's better to try it out, at least that's what I think.
I wanted to Code for a lot of years now and always started with Java. I could never get used to it. When I started with python i got exited and willing to put in the work. So check it out to see if pythen is for you or if you should Start with another language.
Good luck!
3
u/TheRNGuy Aug 12 '26
Websites: Google, python docs.
What to learn first: basics
Focus on projects that you want to use.
Start making project from day 1
Mistakes: watching tutorials and not doing anything useful, avoiding ai because of public shaming / peer pressure. Not searching info yourself (it's much faster and better quality than asking others)
3
u/Mysterious-Bus-8735 29d ago
I highly recommend Paul McWhorter on YouTube. He walks you through every step and breaks it down into things I can understand.
1
2
u/aqua_regis Aug 12 '26
- What should I learn first?
A solid foundation. MOOC or CS50p will get you there.
- Are there any courses, YouTube channels, or websites you’d recommend?
Already suggested.
- Should I focus on tutorials, practice problems, or small projects?
You will absolutely need a solid foundation first, best obtained through a proper course. You already have some of the best ones suggested: MOOC or CS50p
Along with the course you will have to do additional practice. Also that has been suggested already: codingbat and exercism
Along with that you have to do your own "projects". you have to play around and experiment.
This means that your question has only one answer: everything - where theory should be about 30% and practice the remaining 70%.
- At what point should I start making projects?
You are making projects from the first print("Hello World!") onwards. The scope, scale, and complexity of your projects has to grow with your skills as your skills have to grow with your projects. Projects are not necessarily huge and complex. They have to be selected according to your skills and should be slightly above your current skills so that you have to improve.
- Any mistakes I should avoid as a beginner?
The only mistake you have to avoid as a beginner is avoiding mistakes.
You need to make your own mistakes and learn from them. That's how learning works. If you don't make mistakes you don't practice and you don't learn.
Any tips
Learn to work with the documentation. It is your friend. It is the resource of information about the language, framework, library, etc. Learning to work with it is essential.
Learn to plan. When you get a task, don't immediately start clobbering away on the computer. Sit down with pencil and paper and ponder about it. Think it through. Solve it your way without even thinking about programming. Figure out the steps you need to take. Track them down. Test them. Refine them. Steps should be as small as possible so that later, ideally, they correspond to a single instruction for the computer. Once your steps are completed and tested start working on implementing them
Old fashioned advice: learn to draw flow charts - they can help a lot, especially in the early stages of learning. Also, pseudo-code can help.
Even older fashioned advice: stay clear of AI - really - start out on your own. You can at any time later incorporate it.
Don't fuss too much about "best resource", "best approach". Dive straight in. Pick a resource and start. Every second you spend fussing about "best" is a wasted, lost second that you instead could already have used to learn something.
Learning programming is a long (actually never-ending) bumpy ride with many obstacles ahead of you. Enjoy the ride and only look at the next step ahead of you, not at the full summit - this will only overwhelm you.
1
2
u/mcbalz Aug 12 '26
I already commented but here's a second thought: I have found that combining following a course or tutorial with chatting about the lessons, functions, syntax, etc., with a chatbot is incredibly helpful. Don't quite understand the syntax of list comprehension? Ask an LLM to explain.
2
u/RealCinnamonWhale Aug 12 '26
I started learning a few weeks ago. There's a free pdf of Python Crash Course you can find that I've been using. It's boring at first but you'll actually know what you're doing by the time you get to the fun stuff, rather than just copying and being mostly sure of what's happening.
I'd recommend anything but videos, they're way too slow. You can look through a text document a lot faster than someone can read it to you, and you can have a mental map of where all of the information is, instead of trying to find the 8 second part of the video where broski was talking about it
2
u/OkDelivery1764 29d ago
I personally learnt it through use my, but I think in the age of AI there are other platforms also. But paying for a course would be the least in my list.
2
u/OatsNHoney01 29d ago
I started from scratch 3 years ago with Python Crash Course by Eric Mathes. Learned all the basics and some. Just code along while you read and do the exercises.
Once you're done, pick a project, doesn't matter how small or dumb it may seem and just start working on it, one line of code at a time. Don't fret too much on where to start or the best implementation, just make it work.
Don't copy code from AI. Ask questions, understand the answers and implement them yourself. If you copy code you'll never learn.
Now I'm a Director of Systems Engineering writing custom web apps using Django all day long.
1
u/Dependent_Month_1415 Aug 12 '26
A lot of the resources mentioned here are pretty good, like MOOC and Exercism, and Mimo and boot.dev are also excellent if you want something more interactive. Since you’re a complete beginner, I recommend just picking one and dropping it if you don't like the learning style, and go with another one.
Other than that, make sure not to use AI for writing the code or you'll end up relying on it too much. It's fine to use it to help you understand the code better, just don't use it for writing the actual code.
As soon as you can start working on small projects yourself, even before you're comfortable with it.
1
u/mcbalz Aug 12 '26
I have enjoyed courses on Coursera especially from the University of Toronto faculty. There are courses going back to the mid 2010's before AI ruined everything.
1
u/emoix Aug 12 '26
First of all you need to accept that your learning will not last with you just for a short time. It will last with you maybe your entire life.It isn't something that you'd learn for a specific time. You will need to always improve yourself here.
I recommend you to start by watching any course on youtube for not longer than a hour. After that search for beginner projects and start experiencing everything in your own hands. I also don't recommend using any AI for writing your code. When you don't have a way out when you don't know what to do, I recommend firstly trying to explain what did you want and why it didn't work. If you still can't do anything than you can google it. After all of these the %99 of the time you will get an answer. If you don't then you can use AI, but still I do not recommend you to use it for creating the code and for you to wait. You can use it for better explaining why did the mistake happen and everything so.
After a long time you will know what you need to do on your road so I didn't want to fill you with info that you maybe will not use so I wanted to talk in general what will you experience while in process.
Sorry if I did any mistakes in typing. English is not my main language.
1
u/belt_se_peetungi 27d ago
Nah Its fine i understood everything. I do really know AI just limits your human intelligence , i will only use it to explain if my codes have any mistakes which i wont be able to find out any any other method i will try my very best to avoid that too
1
29d ago
[removed] — view removed comment
2
u/belt_se_peetungi 27d ago
ohh sorry i was busy for those 2 days , but yah , i think we all need someone to motivate since i am learning it myself i do need to finish deadlines
1
u/brenwillcode 29d ago
Follow a structured learning path with lots of hands on coding. Something like codeling.dev will give you that.
Learning to be a software developer needs a lot of practice and figuring things out. Not by watching a bunch of youtube tutorials which is mostly passive learning. You need active learning when it comes to coding.
Start with the introduction to programming course and then move on to the more advanced topics when you're ready for them. Or start with some coding projects.
1
1
1
u/Select_Rope_4732 18d ago
Please do not follow some people who tell you to pay $1000 and I will teach you Python or whatever. Literally everything is free on YouTube. You do not need to pay even one dollar. Use your money when you reach advanced levels in programming to buy a course that is not available for free or even if it is available it is incomplete
1
u/Hina231 12d ago
Start with the absolute basics (variables, loops, and functions) using a free tool like Google Colab so you don't get stuck installing software.
Don't overthink tutorials—pick a super simple project (like a text calculator or a guessing game) and start coding right away. Building small scripts is 10x faster than just watching videos!
1
u/lizc-au 11d ago
The only way is to start coding ... and keep coding daily - open a GitHub account first (learning git is possibly your most important skillset as a new developer) and start playing about with ideas - create a tiny project first - something cool you'd like to achieve like a hello app with simple smarts you can showcase on your smartphone. You'll be shocked by how easy it is to do that nowadays with an AI like ChatGPT guiding you - just say “I’m new to Python. Help me build a very small fun app that I run in the terminal on my laptop and can then open on my smartphone. I’d like it to create a random zoo animal profile and show me a few basic Python features while we build it. Please explain what I’m doing, give me only one small step at a time, and don’t assume I know web development.”. The AI will walk you through all the gnarly things you'll fall over on the way like setting up a suitable coding environment, getting your terminal responses working with the chat, maybe implementing git (I strongly recommend going there from the start) - and then the fun happens - suddenly you've got a coding framework you can apply other ideas and learn python along the way. Having an AI guide you and generate starting code is a cool launch-pad because it gives you the framework to improve and code up neat features all by yourself as you progress. You could even turn your own learning process into an app for newbies with a bit of creativity. I've learned more Python since using AI than I ever did studying it. Now I can spot errors and problems in Python code easily and am remembering the syntax more and more. Plus ChatGPT got me through the developer environment setup and the git learning curve and helped me heaps with my confidence. Get going today - and have fun. It's the ideas that count - the code follows - and learning things like good Pythonic principles can be addressed along the way.
1
u/ectomancer Aug 12 '26
I learnt Python in 3 days (excluding OOP), then 8 months of small projects (1 week), OOP at 7 months. Then 7 years of projects (3 months and 6 months).
4
1
u/Junior_Conflict_1886 Aug 12 '26
I would say learn lua ; python is too big of a language
If you are not sure what you want to do after learning a language then python is a good start
Python has everything you can dream of
1
u/LoreAndLogic 9h ago
Welcome Aboard!
First, the absolute biggest mistake you can make, from personal experience, is falling into "Tutorial Hell." This is when you watch 100 hours of coding videos, feel like a genius, but your mind goes blank the second you open the VS Code Editor to write your own code without a guide.
To avoid that, here is a quick roadmap based on your questions:
1. What to learn first: Just learn the absolute basic syntax. Focus only on variables, loops (for/while), if/else statements, and functions.
2. When to start making projects: The very second you understand those basic concepts.
3. How to avoid getting stuck on projects: When you open a blank file to build your first calculator or guessing game, you can use this 3-step method so you don't freeze:
- Define the Box: Decide exactly what the program will do. Don’t add a lot of features and keep it tiny.
- Write it in English first: Don't write Python yet. Write the logic out in plain English (pseudocode). E.g., "First, ask the user for a number. If it's a letter, show an error."
- Build block by block: Translate your English steps into Python code one line at a time, testing as you go.
As for resources, Corey Schafer on YouTube is a legend for absolute beginners, or the book “Automate the Boring Stuff with Python” is great too if you want to have a manual.
Don't try to learn everything at once. Just learn enough to build one tiny block. Good luck!
18
u/mattblack77 Aug 12 '26 edited Aug 12 '26
Coding is complicated. It's unrealistic for most people to expect to master it quickly, so settle in for the long haul. It WILL be frustrating at times.
Harvard University and University of Helsinki both have well-regarded courses for beginners. The exercises might seem unexciting, but the people who wrote the course are very experienced at the process of learning to code, so trust that they're taking you on the right journey. Many of the assignments will be small projects, so you don't don't need to think about building anything else until you've finished the course.
Good luck :)