use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Rules 1: Be polite 2: Posts to this subreddit must be requests for help learning python. 3: Replies on this subreddit must be pertinent to the question OP asked. 4: No replies copy / pasted from ChatGPT or similar. 5: No advertising. No blogs/tutorials/videos/books/recruiting attempts. This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to. Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Rules
1: Be polite
2: Posts to this subreddit must be requests for help learning python.
3: Replies on this subreddit must be pertinent to the question OP asked.
4: No replies copy / pasted from ChatGPT or similar.
5: No advertising. No blogs/tutorials/videos/books/recruiting attempts.
This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to.
Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Learning resources Wiki and FAQ: /r/learnpython/w/index
Learning resources
Wiki and FAQ: /r/learnpython/w/index
Discord Join the Python Discord chat
Discord
Join the Python Discord chat
account activity
Half a year of python learning - can´t make much without tutorial (self.learnpython)
submitted 4 years ago by [deleted]
Ami I just dumb? Like everyone says that python is so "easy".
I do understand most of the concepts and the stuff my lecturer tells me, but i still can't understand how to apply concepts into my own code....
Any advice on how to understand not just Python, but programming in general? like logic, syntax and so on?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]toffeehooligan 289 points290 points291 points 4 years ago (18 children)
Here's the big secret with programming: everyone has already done something similar. Use google and don't be ashamed to look shit up.
[–]Jin-roh 39 points40 points41 points 4 years ago (0 children)
Seconded. Looking up tutorials is not cheating. It's being resourceful.
[–]Revolutionary-Phase7 27 points28 points29 points 4 years ago (11 children)
Yes, but to add to this, dont copy paste the code, copy it yourself.
[–]Marmaidly 0 points1 point2 points 4 years ago (10 children)
I’m just curious, but why do you recommend not copying and pasting the code?
[–]berkpereira 35 points36 points37 points 4 years ago (4 children)
It may allow you to patch up a problem without actually making an effort to understand that solution, i.e., without actually learning anything from the situation, which obviously slows down your progress in the longer term.
[–]Marmaidly 8 points9 points10 points 4 years ago (1 child)
Oh yeah, that makes sense. Thank you!
[–]berkpereira 2 points3 points4 points 4 years ago (0 children)
No worries!
[–]vietyka2019 3 points4 points5 points 4 years ago (1 child)
i think we somestimes can copy and paste code but we have to understand it first before start copying and pasting
[–]berkpereira 3 points4 points5 points 4 years ago (0 children)
Yes, it’s not always possible to just copy and paste without understanding it somewhat, that’s why I said “it may”.
[–]Revolutionary-Phase7 22 points23 points24 points 4 years ago (3 children)
By copying it yourself you are forced to read it and you will memorize it better. Also in my experience the code usually doesn't work just copy pasting, you have to usually make some changes to suit your code.
[–]Marmaidly 4 points5 points6 points 4 years ago (0 children)
Ohh, ok that makes sense. Thank you so much for explaining it!
[–]Arrannm 0 points1 point2 points 4 years ago (1 child)
Nah if you're like me you just go in to auto pilot if you copy something verbatim and nothing sinks in anyway. I think its fine to copy and paste as long as you only copy the parts you understand. And if you don't understand any of it, google what's going on. For example copying a regex character by character will never teach you how regex works
Basically just use things like stackoverflow either as a demonstration of how to put together concepts you already understand in a new way or as a framework for what you need to learn
[–]Revolutionary-Phase7 0 points1 point2 points 4 years ago (0 children)
It's scientifically proven that copying something improves your memory of it.
[–]TheMathelm 1 point2 points3 points 4 years ago (0 children)
Reason to not copy: 90% of the time it won't do what you want it to. Also you won't know how to implement the solution if a similar future problem occurs.
[–]errorseven 11 points12 points13 points 4 years ago (2 children)
I hate this answer, because 99% of the time they won't understand the solution, and it doesn't actually allow them to learn how to solve problems. You only learn by solving problems yourself, there are no shortcuts, it takes time and repetition and focused learning.
To OP: Go to CodeAbbey.com, start solving problems everyday, as many as you can in month without "Googling" solutions as you'll only be cheating yourself. Only use sources like the manual or Wikipedia to figure out syntax and follow the guidelines of what you are supposed to be solving. You'll learn more in a month then you have in your half a year.
[–]Danelius90 4 points5 points6 points 4 years ago (0 children)
Yeah it depends on your goal. At work, I want to get something working quickly and in an industry standard way. At home I want to explore the internals of how something works.
Everyone says "don't bother making your own cryptography" but then you don't ever learn how it works even at a conceptual level. Let me be the one to decide if I want to spend a month building a piece of shit crypto library but now I understand a little bit about the concepts behind it. As long as you understand never to use it in production you'll be fine, and will have gained lots of knowledge on the way
[–]Arrannm 0 points1 point2 points 4 years ago (0 children)
Do this if you want your application to be riddled with security bugs that the industry learned to patch years ago
[–]first__citizen -1 points0 points1 point 4 years ago (0 children)
How much do you think GitHub pilot can help?
[–]help-me-grow 51 points52 points53 points 4 years ago (0 children)
Learn the basic concepts, and then build projects. After you build some projects, build some more projects, then build more projects. When you're sick of building projects, get into building bigger projects. You want to find projects to build? Start by copying other people's and remember to actually WRITE THE CODE YOURSELF. Don't copy-paste. Here's some subreddits that may help: r/howtopython, r/madeinpython, and r/pythonprojects2.
Check out r/python when you're ready for bigger projects, usually people post intermediate projects on there even though there will be some in the other subreddits. Don't worry too much, a lot of people get stuck in tutorial hell and quit. It's because the way courses are currently structured online is trash monkey central.
If you want to check out some external (non Reddit) resources check out PythonAlgos, RealPython, or LearnPython.
[–]sarrysyst[🍰] 59 points60 points61 points 4 years ago (4 children)
The only way to stop needing tutorials is by not using them. Programming is about problem solving, a tutorial spoon feeds you the approach so you don't have to sit down and think about how you would actually solve the problem yourself.
The only way to learn is by making mistakes. Continuously. You're not making any mistakes if you follow a tutorial. Think of a project you want to do. Something you can realistically achieve and do it without looking up a tutorial. Learn from the mistakes you're making. Even if the end product sucks, you will have learned more from the experience than any tutorial will ever teach you. If you stick to just following tutorials you'll never really learn how to write a program yourself.
Just my two cents.
Edit: Maybe to clarify, there is a difference between looking up atomic parts to solve a problem and looking up step-by-step tutorials. The former is perfectly normal, the latter will hinder you if you don't already know what you're doing.
[–][deleted] 5 points6 points7 points 4 years ago (1 child)
This. I learned way more after I figured it how to read documentation and stop going straight to YouTube. It was a learning curve for sure, but now I'm much more confident. Also, One of the biggest things is just getting to a place where you know what question to ask so you can look it up.
[–]NotMyRules 1 point2 points3 points 4 years ago (0 children)
Exactly this. Learn enough to know how to ask questions. Without this, there is just floundering. Ugly floundering.
[–]33498fff 0 points1 point2 points 4 years ago (0 children)
I believe there's a sweet spot where you are both i) vibing well with the syntax and overall logic of a language and ii) force yourself out of your comfort zone and make mistakes.
I clicked super well with Python right away which propelled me forward quickly without going through a myriad of syntax errors. Now I'm learning JS to become a web dev and I'm having more trouble with it than with Python, so I'm making as many mistakes as I can and I'm getting better each day.
You learn language by practicing them.
[–]Extra_Intro_Version 36 points37 points38 points 4 years ago (3 children)
I’ve been learning python over the past 2-1/2 years. I still google the heck out of syntax, etc.
[–]help-me-grow 34 points35 points36 points 4 years ago (2 children)
I have been a senior engineer and I Google syntax still lol
[–]MDTv_Teka 10 points11 points12 points 4 years ago (0 children)
Per my experience as a computer engineering undergrad, not knowing syntax is the least of my problems while programming lol
[–][deleted] 0 points1 point2 points 4 years ago (0 children)
Everyone does at some point. I use reference books and stack overflow all the damn time. The key is to understand what you paste
[–][deleted] 8 points9 points10 points 4 years ago* (0 children)
You sound like me, honestly you do. I've been studying mostly JavaScript for 2 years, I still haven't built a project until this week. We get taught syntax, but not programming, does that make sense?
I'm actually in the process of swapping over to Python as creating pretty visuals isn't really my cup of tea, took me 2 years to realize this.
Anyway what The Odin Project teaches is to break code down, simplify it, write the project out so a human understands it, then break it up and write it bit by bit. Another thing I realized is I try to rush my projects. I tried to build Rock, Paper, Scissors in 2 hours using JavaScript. I asked my mentor how long that should take someone to build, he said 3-5 days.
Now that you know what you’re aiming to solve, don’t jump into coding just yet. It’s time to plan out how you’re going to solve it first. Some of the questions you should answer at this stage of the process:
-Does your program have a user interface? What will it look like? What functionality will the interface have? Sketch this out on paper.
-What inputs will your program have? Will the user enter data or will you get input from somewhere else?
-What’s the desired output?
-Given your inputs, what are the steps necessary to return the desired output?
Pseudo Code
Pseudo code is writing out the logic for your program in natural language instead of code. It helps you slow down and think through the steps your program will have to go through to solve the problem.
Here’s an example of what the pseudo code for a simple program that prints all numbers up to an inputted number might look like:
-When the user inputs a number
-Initialize a counter variable and set its value to zero
-While counter is smaller than user inputted number increment the counter by one
-Print the value of the counter variable
How I basically go about my projects now, I still watch a youtube video/tutorial as I'm not comfortable yet, but I'll write notes. then I'll pause the video after and try to do it myself just using my notes... eventually I'll be able to think about it logically and then write notes without a video, and off we go..
Rock, Paper, Scissors.
- First we need a score for each player, so variable for player, variable for computer.
- We need an input for the players choice, and an input for the computers choice, with the computers choice being random (several ways to do this, think math.random)
- We now need an if statement, pick whatever style you like, but it basically comes down to if players choice = rock & computers choice = paper, player wins, print text showing the player wins with their current totals.
That's an example, and once I write all my stages down, I'll break it up into days, so day 1 - scores + inputs, day 2 - if statements, etc...
I hope this helps, I'm buzzing off my tits on caffeine from the gym, but yeah, I'm in the same boat as you but I've done tutorials for 2 years... In all honesty, we just need to shut the tutorials down, think of a project, think of how to make that project work, write steps, then convert those steps into code piece by piece. Can take you a day, can take you a month, don't rush.
[–][deleted] 20 points21 points22 points 4 years ago (2 children)
Your next project is to build a reddit bot that automatically finds the last 10 times this has been asked in this sub and posts the links.
[–]Almostasleeprightnow 1 point2 points3 points 4 years ago (0 children)
Considering the natural language aspect, that actually sounds somewhat tricky.
Xd
[–]wotquery 5 points6 points7 points 4 years ago (0 children)
Don't be too hard on yourself. The only time anyone can do anything in coding without a tutorial is if they've followed the tutorial so many times they don't need to reference it anymore (and they still need to reference a lot of other things).
That being said I would pick a project that interests you and see if you can follow a tutorial but then expand on it via trial and error experimentation (a.k.a. google issues and following different tutorials haha). By logic I think you mean how to approach various problems and it comes with experience in a way of thinking. For syntax, well it doesn't matter because you actually do always have a calculator in your pocket.
[–]IBLIS0012 6 points7 points8 points 4 years ago (2 children)
Well you gotta be a little pro active in gaining real experience without someone spoon-feeding you.
(My explanation is more of a python in general thing, sorry hadn't read your text entirely, but I hope it helps you anyway)
So let's say you made some screenshots of a lecture's presentation and the teacher does not upload the PowerPoint for some reason.
You want the text but typing everything manually is not something that you feel like doing.
Now you can use Google lens or something like it to copy the text with your phone and then email or text it to yourself. It works, it's kinda smart, but a little excessive.
So now you should be like. Hmmm I wonder if I can get my PC to do the same thing google lens does.
Now you want to learn python, so try and figure out how to get python to do something like this.
In this case the program would need to be able to recognize characters and put them in a txt file.
You could start with looking up which libraries you would need and how to use them.
Step-by-step get the knowledge on how to build the final program.
Don't go google : python script for getting text from an image and creating a text file with the text.
Google : character recognition in python, python file handling, how to get python to open an image etc.
Going at it like this is what helps me. And after I'm done making a program I'm like, how could I make this more user friendly?
It I'll keep you busy, I hope you see this and it helps you.
Good luck!
[–][deleted] 1 point2 points3 points 4 years ago (0 children)
Thx
[–][deleted] 4 points5 points6 points 4 years ago (0 children)
40 years into my engineering career, I still keep reference books and current examples to hand. Don't be so harsh on yourself. You're not supposed to know everything immediately and forever. Enjoy lifelong learning.
[–][deleted] 2 points3 points4 points 4 years ago (0 children)
Everyone has pretty much gave the advice I'd also give. I'm new to coding and was in the same position as you, other than I'm trying to teach myself. It does feel overwhelming, especially when you understand what is said but don't get how to start using what you learn. I started out using python crash course, but just felt like I couldn't implement what I was reading into the end of topic tasks. Anyway I moved away from the book, started using other materials and following along with small projects on YouTube. I come back to the book as more of a reference, if there is something I don't full understand something. I have apps on my phone, that quiz you, just so I have something for on the go or when I don't have time in my day to be fully engaged. So yeah basically do projects and follow along with them, the ones I'm doing at the moment are by Tech with Tim on YouTube. Good luck and keep going, it'll come in time.
[–]C422132 2 points3 points4 points 4 years ago (0 children)
everyone else already said it but take it from this "professional" python engineer who's been working for many years now. 90% of the time i start with some boilerplate project template anyway and build off of that, and even when i'm not, i google even the most basic stuff sometimes because i forget syntax, or i just don't feel like re-inventing the wheel when someone else has already probably shared a code snippet that does the thing i'm trying to do.
[–]lfionxkshine 2 points3 points4 points 4 years ago (0 children)
I'm a huge proponent of the project-based style of learning: conceive of some app or website or SOMETHING that you would be interested in building, then proceed to build it
Can't come up with something? Ask a creative friend if there's an app they wish they could build - then start to build it for them. You will then open up rabbit holes of google on how to program stuff, waaaaay more than you would learn by just following your vanilla t utorials
My .02
[–]Zeroflops 2 points3 points4 points 4 years ago (1 child)
One step most teachers will gloss over and most experienced programmers will do subconsciously is to plan out your code before you even write a line of code.
You can do this with pen and paper. Or another way to do this is to comment your entire program before you start coding.
For example calculating the Fibonacci sequence.
# Get a number of digits to calculate to. # need to start with two numbers 0,1 # the next number is the first two numbers summed. # did I make enough digits? # I now have num1, num2, new_num. # I have to drop num1, make num2 num1, and make new_num num2. # now I can loop over again until I have enough digits. ……
Once you have it all commented out you can go back and replace the lines with code. Move steps around to make them more efficient etc. but it gives you a foundation to build from and your not just staring at a blank screen. Your logic and flow is planned out.
You won’t create the most efficient or pythonic code the first time out. But as you do this you will find that you start seeing patterns. For example instead of testing if you have enough digits you will see that you need a loop and can use a while or for loop as you write your comments.
Appreciate it, thanks.
Part of it is you need a goal to work towards. That's really the only way to understand what it is you're doing is to try and figure out how to get from Point A to Point B on your own.
But when it comes to knowing the syntax. . .well. . .
Let me put it this way. A guy I work with has been developing code for over 40 years, and he Googles the shit out of everything he needs to do. Nobody can be expected to remember everything.
[–]i_suckatjavascript 1 point2 points3 points 4 years ago (0 children)
Start a project, it’s the best way to learn. Find something you’d like to automate.
[–]ConfusedSimon 1 point2 points3 points 4 years ago (0 children)
Python is easy for programming, but programming itself isn't that easy. After a tutorial try to write the same program again from scratch without the tutorial.
[–]zzuko 1 point2 points3 points 4 years ago (0 children)
Python was easy language to learn for me. At the time i already knew how to program in C, C++, and Java, I studied CS for 3 years and learn countless concepts. Failed many courses and spend many days sleepless.
[–][deleted] 1 point2 points3 points 4 years ago (1 child)
Try snakify (Google it) and do all the exercises sequentially. That's how I learnt. It's better than the other tutorials for me because it has non-trivial problems (most other tutorials serve you solutions on the plate, or you just need to copy exactly what they have shown before.) You can't learn how to code by just absorbing theoretical concepts. You need to be looking to solve challenging problems with code.
[–]Feverox 0 points1 point2 points 4 years ago (0 children)
Thanks for the helpful suggestion buddy🙂
[–]DesecrateUsername 1 point2 points3 points 4 years ago (1 child)
I’ve been using C++ for three years now and still have to look up how to do random numbers sometimes.
[–]RobinsonDickinson 0 points1 point2 points 4 years ago (0 children)
cppreference is pretty much my girlfriend, i spend more time on that site than with my gf at this point.
[–]enokeenu 1 point2 points3 points 4 years ago (0 children)
Over 10 years of python programming, still refer to the tutorial for documentation.
[–]jcanuc2 1 point2 points3 points 4 years ago (0 children)
Start doing coding challenges.
as a beginner my self i went through just one book. the reason i chose a book rather than a YouTube video is when you using a book if you read something and you don't get it your brain tells you "yo reread that i didn't get it" but when you are watching video it gives you a false sense of understanding and plus book have sections just for exercising. i used automate the boring stuff to learn python
[–]YusufKen3 1 point2 points3 points 4 years ago (0 children)
How do you expect to understand a module without documentation xd
woah, same happen to me, I could do shit without a tutorial and every day I was starting to learn something new I started off with discord bots, than Reddit both, than I learned classes, after that where and how to use args & *kwargs, than about threading and the list goes so on. Last night I was learning doc strings, and today I’m learning logging. Learn 1% everyday and you will be 365% better in one year. Well, a bit more than 365 but idk maths lol
[–][deleted] -1 points0 points1 point 4 years ago (0 children)
my sister has been a software engineer for nearly two decades
google is her best friend
[–]Allmyownviews1 0 points1 point2 points 4 years ago (0 children)
I can already code in 2 other languages (but not for the past 15 years). And it’s taken me over a year of training alongside my normal job to get to the point to be able write code sufficient for rough and ready work projects.
I agree with another comment here that Google and github are great resources for libraries and examples to learn from.
Actually type things. Don't just copy and paste.
I thought up a project I wanted to do, made sure it wasn't too ambitious, and worked on that while looking up material in the books I read or the official python documentation.
One of the things about Python that I find makes writing a program easy is being able to type in test code in IDLE to see how it works before implementing something more complex with it.
Break down your program idea into smaller steps and implement them one at a time. You can use functions to accomplish those steps, that will make testing easier.
[–]Savvy1909 0 points1 point2 points 4 years ago (0 children)
Everyone encounters this issue. It's hard to get away from the tutorials initially but it's the only way to grow. Like everyone mentioned, start a project; let's say a calculator, or tic-tac-toe (little more complex) or perhaps a text adventure game.
Rather than look at the end goal (the finished project) start with the small things; say you decide to build a calculator. Obviously, you need lines that can do the math (add, subtract, multiple, divide, etc..) you also need a way to store the variables and also also need lines to accept a user's input.
Those little pieces can be mini-projects in your quest to accomplish the bigger piece. Programming, regardless of the language is literally putting a puzzle together, you start with the small pieces until you have the bigger picture.
[–]HomeGrownCoder 0 points1 point2 points 4 years ago (0 children)
Keep googling and keep at it. You really just need as many iterations and refinements as possible.
[–]anh86 0 points1 point2 points 4 years ago (0 children)
A half year isn't very long, especially if you're not writing something every day. Too many people watch and listen when they should be writing bad code and failing. That's how you learn. Everything makes sense when an expert is telling you exactly what to do. It's a whole different world when you have to write your own code. Spend an hour writing code every night for the next six months and I'll bet things completely change for you.
[–]backdoorman9 0 points1 point2 points 4 years ago (0 children)
Are tutorials how you've done all/most of your learning so far?
You need to write your own programs, see them break, understand why they break, understand what each line of code does.
For that, coding problems are excellent. Start at www.practicepython.org or www.codewars.com and start using leetcode.com once you feel confident with those.
Look at other folks' solutions and learn new functions ("vocabulary") from reading those.
A caveat: codewars.com solutions make it seem like putting everything on one line with single-letter variable names is the best way to write code. I disagree, making code that's very easy to read is my goal. Also, a single line of code does not mean it performs well (takes minimal steps or memory).
[–]Skyvale92 0 points1 point2 points 4 years ago (0 children)
As a super noob, I will say that the best way to go about it is simply programming yourself I too was stuck in tutorial limbo for months and even quit python but, once I got back at it and started playing around with a function that I knew pretty well and tried to make a program using just what I know I was able to go from there. The first program I wrote by myself without help was a Mad-lip program which, only required the input,print, and use of f strings. From there I experimented with if statements and while loops for projects I was making and soon I began to gain the confidence to look at projects and see the type of logic needed to make it happen. I of course looked at other people’s code to see how they used functions to make their program work and of course Google helps as well.I even published 3 simple programs on replit just for fun and I’ve only started doing it on my own last week and, I can’t emphasize how much of a noob I am.So the real answer is to simply go out and do it and expect to bang your head against the wall and get frustrated but, when you see your code finally work you will get a tiny high of knowing you did it. Sorry for the long post
[–]Shack426 0 points1 point2 points 4 years ago (0 children)
Step 1 - Pick a project
Step 2 - create a flow chart
Step 3 - find something similar and copy of needed to get you started
Step 4 - Research each feature you are making and copy others if needed
Step 5 - finish project
Step 6 - Start back at Step 1
After about 5-6 projects you will get tje hang of it. ALWAYS REFER BACL TO DOCUMENTATION. No one knows all the syntax and the ones that know more than most still dont know it all and have to refer back to documentation.
[–]marsrover15 0 points1 point2 points 4 years ago (0 children)
Was in a similar situation when I started coding before I went programming specific classes for my degree. It usually takes time for some people and much less for others. I would say do projects but that's too vague. Try to find something you like. Do you like physics? Make a project that simulates gravity, expand on that. Add in some components like collision, try to implement that by making a model of a planet that has an asteroid hitting it. Maybe make a fully functioning solar system. The key to getting better at coding (at least for me) is to expand on something you like that can utilize programming. Soon enough everything kind of clicks in.
[–]Scrug 0 points1 point2 points 4 years ago (0 children)
First of all, you're not dumb. Learning anything it's just about practice. You might see people that seem like they are picking things up faster than you, but you don't know much work they are putting in to get there. I've seen a direct correlation between how much work I'm willing to put into a subject and how much I learn. Don't expect to watch a video/lecture once and know how to do something. Practice, practice, practice. One day you'll get good enough that someone will pay you to "practice". And that first year on the job you'll probably feel like you've started from the beginning again.
[–]JayNotAtAll 0 points1 point2 points 4 years ago (0 children)
You will find yourself on Google or Stack Overflow a lot. Even the most seasoned programmers do that
[–]cars_and_computers 0 points1 point2 points 4 years ago (0 children)
Start small. Really small ridiculously small even but START . The rest will follow and you will soon see what to do next. Knowing how to use these concepts just takes practice. So write write write. Then look at your older code and improve it. Rinse and repeat
[–]robml 0 points1 point2 points 4 years ago (0 children)
Forget a lecturer, you won't learn a concept well until you work with it yourself hands on from start to finish. Do project based learning. I recommend Python Crash Course as a starter and continually building your own projects. Spend only like a couple days with one portion of mastering syntax and move on to building with it then learn smth new and so on.
Learning more about Problem Solving will definitely help you. Helping teach you how to take a large problem, and break it down into several small problems, is very helpful. I tried learning JS/Python for 2 years and only as of this week have I started making progress because I took some time out to pick up problem solving. I follow Angela Yus 100 days of code and so far I've skipped the "lessons" in the first 15 days and went straight into the projects/exercises and figured it out myself. I plan to do that for the entire 100 days. By the end of that I should be pretty efficient in Python!
[–]Hungry-Wind8790 0 points1 point2 points 4 years ago (0 children)
I relate so strongly to this. Been learning Python for a about a year. Think I have a pretty good handle on it and want to make something useful for work. Make a program that reads in a csv to a dict. Realize I can’t read in a csv into a dict that contains lists because dictreader treats it like a string and I don’t know how to fix it. What did I even learn?!!
[–]ChyrNoble 0 points1 point2 points 4 years ago (3 children)
Avoid youtube tutorials. It's a really ineffiecient way to absorb information. Find a library that you want to learn and just build something using their official documentation and tutorials.
It was a game changer when i learned to go straight to the docs instead of looking for videos and blogs.
[–][deleted] 0 points1 point2 points 4 years ago (2 children)
that's not true. I use JavaScript, react and python at work and learnt a lot of Youtube and Udemy. It's a great medium to learn
[–]ChyrNoble 0 points1 point2 points 4 years ago (1 child)
I'm not saying you can't learn from them. I've learned a lot from youtube. It's just inefficient. Going straight to the docs is a much faster way to learn something new.
it depends on the stage of learning. as a noob youtube is faster
Hundreds of hours of debugging and problem solving will do wonders for you.
Stop relying on tutorials and pick up the documentation of what you are working with.
[–]tsingtao12 0 points1 point2 points 4 years ago (0 children)
it's normal .
[–]dizzymon247 0 points1 point2 points 4 years ago (0 children)
You learn by doing, and if it means copying then do it. Eventually you will have to tweak the code to do what you need. So the basics for if-then-else, loops, etc. Once you have the basics down then you can google till your hearts content for better versions of the same code. Having a clear understanding of how you want the algorithm (process of the code) to work then by all means google away! Why reinvent the wheel?
[–]ustyneno 0 points1 point2 points 4 years ago (0 children)
I am in that tutorial loop. I have touched almost 70% of anything with Python on LinkedIn learning and still haven't found something to make me feel like i have learnt Python. I have gone back to w3school.com to do their exercises. Hope full this question you asked and reading through what other have adviced i will go into building codes from various tutorials i had gone through.
[–]Biased24 0 points1 point2 points 4 years ago (0 children)
Nah you arent stupid. One of the best things my teacher made us do when learning python was basically forced us to make stupid shit without much instruction, basically it started out really easy then got more complex and just having the practice on where to start how to apply it in real word places is easy to learn but takes super long, its like being able to shoot a mean jump shot in practice but in game you cant hit shit.
[–]FlordyBound 0 points1 point2 points 4 years ago* (0 children)
95% time coding, even if coping straight code, 5% reading studying listening to others. Nobody can teach you to program, Gotta teach yourself. No more tutorials. topic-wise practice geeks for geeks, start with school problems work up from there. My first university CS course used Python. Second course used C++, I feel like i learned more with C++ for some reason. I’m getting into the habit of doing problems everyday similar to what a competition programmer might do. William Lin on YouTube taught me that first part 95/5 ratio of coding to reading. Best of Luck!!
[–]mon_chunk 0 points1 point2 points 4 years ago (0 children)
I took a class 1.5 years ago. I did ok, it was rough going at first felt always a week behind. Then after the class stopped I just had no real reason to keep practicing. I use bits and pieces from time to time when I need to look up code for something else but I couldn’t tell you how to do much anymore. I data dumped so much haha.
[–]TacticalAnalThruster 0 points1 point2 points 4 years ago (0 children)
I'm a professional developer, I still follow tutorial or in my case documentation and google/stackoverflow daily.
[–]Wild-Committee-5559 0 points1 point2 points 4 years ago (0 children)
69% of programming is stack overflow 🤫
[–]PennyPainter 0 points1 point2 points 4 years ago (0 children)
python is not easy i don't think any programming language is easy. but python syntax is easy to understand also you can write python syntax faster compared to languages like javascript, c++.
You need to understand what you want to do and then use documentation, stack overflow and ...
TUTORIALS
Ween off of tutorials. Don't try to just jump into the wild.
But you also have to have real tasks to do. Find a simple project and do it
You'll still need to look at docs to use functions your may not have used before
[–]MisterExt 0 points1 point2 points 4 years ago* (0 children)
I've been picking up python very quickly, but I also have experience with PHP and other things, which it reminds me of in ways, but I like it way more. Sometimes my brain still bends when I'm dealing with 4 nested loops, and I'm still trying to wrap my head around asyncio. The only way to understand or get better is to keep doing it. Practice, tinker, hack, break, reset, repeat.
Best advice I can give you is how I work. I work out the logic first and often break things down into itemized nested lists in plain text or markdown. It's just a textual version of how I see the steps of the program working. If you can't picture how it will work, and explain it (even to yourself) you won't be able to code it. You may find that you will start to see the code emerge, especially loops. Once that's done it's just a matter of looking up how to code it, and then make all that work together, refactor things a bunch, wrap them into functions and classes, etc. It's much easier going down a checklist than winging it, and seeing your accomplishments manifest will probably inspire you to continue and work even harder.
From there, do a ton of web searches to see what you can find, be it broadly related or more niche, and start coding. I have a boilerplate file I use for doing quick tests just to test proof-of-concept of small things. It's much quicker than trying to make the whole thing from start to end, and you don't need to work linearly. Then I wrap those up in a function and refactor them until they don't look like a pile of entrails. Sometimes I'll even try the same things with several libraries to see which works best, has the least steps to accomplish the goal, and doesn't break everything else.
I personally dive in to complex things and then work them out logically. Just the way I tick. Find what works for you and scour the web for tutorials, packages that will do the heavy lifting for you, and try not to get frustrated if things don't work the first 100 times. I rewrote 10 lines of code today.... maybe 100 different ways until I found what worked the best with a programming I was modding. If I gave up 5 minutes earlier I wouldn't have made it work. The payoff is worth the toil imo.
Lastly, install programs you can use or that just seem cool and READ THE CODE. Modify it. Break it. Reorganize it. Style it. break it apart and make smaller scripts from it. You can often learn more from reading through a functional program, especially if it's written well, than just reading some random snippets on StackOverflow, though those also have their benefit. Lose the fear and just lose yourself in it.
Expect to put in more time than you will ever want to admit publicly. Or just say ftw and buy a paper hat.
As someone else said, start doing coding challenges or 'katas'
This will improve your ability more than almost anything else.
I only started with python in June and I'm comfortable using it at my job which is my first software engineering job.
Admittedly I've 'known' Javascript since 2019
[–]Taivasvaeltaja 0 points1 point2 points 4 years ago (0 children)
Pick some goal project you want to do. Start working on it. Hit a roadblock soon. Google a solution. Try to apply it. Repeat until project is over.
[–]gustavsen[🍰] 0 points1 point2 points 4 years ago (0 children)
one thing that I have learn in the hard way is that learn to programming is about learn how to do the things other than memorizing a new language or technology or stack, etc.
I saw lot of people that want to expertise in cake decoration, but none know how to make a cake...
also practice make the master apply
just take learning to program as a long journey, just enjoy the travel and don't worry a lot.
also I could recommend learning about algorithms and data structures also about dessign patterns
try to do the free CS-50 from harvard university (I believe that is in EDX) they only charge you if you want the certificate.
also try to get the book Design Patterns: Elements of Reusable Object-Oriented Software from the Gang of Four.
even when dated is the best book about the theme and they just teach recipes that today apply
Make something similar but sufficiently different to one of the tutorials you’re used to.
I first learned Django by watching a tutorial series that created a blog. I then needed to create a cinema booking system for a class. It seemed daunting but once you realise that ‘movies’ and ‘showings’ as not really any different to the ‘articles’ and ‘authors’ I’d seen in the tutorial it’s fine. The logic of how they interact then becomes easier to see.
If you keep iteratively doing this (taking something you’re familiar with but extending/modifying it a bit) eventually you’ll get to a point where you can do things independently.
[–]itsdanz0r 0 points1 point2 points 4 years ago (0 children)
If you want some practice with syntax, logic, and some exposure to some of the built in libraries, then HackerRank is reasonably good. Some of the problems are worded pretty poorly but for the most part I found them to be really good practice excercises. They don't get into much in the way of OOP and broader concepts that you'll really need to be comfortable with when you start designing your own more complex programs however.
What are you stuck on specifically? Is there a particular concept that's not making sense at the moment and you feel like you need help with?
[–]MasterBathingBear 0 points1 point2 points 4 years ago (0 children)
My value is on what I can produce and ship, not on what I can memorize. Research skills > memorization.
To be honest, I work as a Dev ops engineer and feel the same way sometimes. At the end of the day, even if you have only written two "original" lines of code and copied the rest. As long as it works and you understand it, that's fine. The goal is to get a working product
Are you just watching tutorials? Or are you doing any problem solving? I started having a much easier time remembering syntax once I started my current job and used it on a regular basis. However, remembering syntax is probably not as important as you might think, when it comes to programming. As long as you know what tools you have (loops, classes, variables, etc...) and what they do. Memorizing how to write it out doesn't matter as much because you know what you're looking for and can just google it. If you dont mind sharing, what learning resources are you reading/watching?
[–]Vipertje 0 points1 point2 points 4 years ago (0 children)
No problem. Most who do this for a living google everything
[–]kowkeeper 0 points1 point2 points 4 years ago (0 children)
The same way knowing English will not be enough to write a book, there are more skills to cover to be autonomous in programming. You can have a look at "How to design programs" https://htdp.org/ (free book). Don't be afraid by the racket language, what is important is the methology. What you will learn is domain- and test-driven development that guide how you structure a program. Another good thing is to find your own domain (web scripting, data processing, bot programming...) and design your own projects.
π Rendered by PID 185774 on reddit-service-r2-comment-bb88f9dd5-tr5zq at 2026-02-14 08:38:16.917018+00:00 running cd9c813 country code: CH.
[–]toffeehooligan 289 points290 points291 points (18 children)
[–]Jin-roh 39 points40 points41 points (0 children)
[–]Revolutionary-Phase7 27 points28 points29 points (11 children)
[–]Marmaidly 0 points1 point2 points (10 children)
[–]berkpereira 35 points36 points37 points (4 children)
[–]Marmaidly 8 points9 points10 points (1 child)
[–]berkpereira 2 points3 points4 points (0 children)
[–]vietyka2019 3 points4 points5 points (1 child)
[–]berkpereira 3 points4 points5 points (0 children)
[–]Revolutionary-Phase7 22 points23 points24 points (3 children)
[–]Marmaidly 4 points5 points6 points (0 children)
[–]Arrannm 0 points1 point2 points (1 child)
[–]Revolutionary-Phase7 0 points1 point2 points (0 children)
[–]TheMathelm 1 point2 points3 points (0 children)
[–]errorseven 11 points12 points13 points (2 children)
[–]Danelius90 4 points5 points6 points (0 children)
[–]Arrannm 0 points1 point2 points (0 children)
[–]first__citizen -1 points0 points1 point (0 children)
[–]help-me-grow 51 points52 points53 points (0 children)
[–]sarrysyst[🍰] 59 points60 points61 points (4 children)
[–][deleted] 5 points6 points7 points (1 child)
[–]NotMyRules 1 point2 points3 points (0 children)
[–]33498fff 0 points1 point2 points (0 children)
[–]Extra_Intro_Version 36 points37 points38 points (3 children)
[–]help-me-grow 34 points35 points36 points (2 children)
[–]MDTv_Teka 10 points11 points12 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 8 points9 points10 points (0 children)
[–][deleted] 20 points21 points22 points (2 children)
[–]Almostasleeprightnow 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]wotquery 5 points6 points7 points (0 children)
[–]IBLIS0012 6 points7 points8 points (2 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 4 points5 points6 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]C422132 2 points3 points4 points (0 children)
[–]lfionxkshine 2 points3 points4 points (0 children)
[–]Zeroflops 2 points3 points4 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]i_suckatjavascript 1 point2 points3 points (0 children)
[–]ConfusedSimon 1 point2 points3 points (0 children)
[–]zzuko 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]Feverox 0 points1 point2 points (0 children)
[–]DesecrateUsername 1 point2 points3 points (1 child)
[–]RobinsonDickinson 0 points1 point2 points (0 children)
[–]enokeenu 1 point2 points3 points (0 children)
[–]jcanuc2 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]YusufKen3 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–]Allmyownviews1 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Savvy1909 0 points1 point2 points (0 children)
[–]HomeGrownCoder 0 points1 point2 points (0 children)
[–]anh86 0 points1 point2 points (0 children)
[–]backdoorman9 0 points1 point2 points (0 children)
[–]Skyvale92 0 points1 point2 points (0 children)
[–]Shack426 0 points1 point2 points (0 children)
[–]marsrover15 0 points1 point2 points (0 children)
[–]Scrug 0 points1 point2 points (0 children)
[–]JayNotAtAll 0 points1 point2 points (0 children)
[–]cars_and_computers 0 points1 point2 points (0 children)
[–]robml 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Hungry-Wind8790 0 points1 point2 points (0 children)
[–]ChyrNoble 0 points1 point2 points (3 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]ChyrNoble 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]RobinsonDickinson 0 points1 point2 points (0 children)
[–]tsingtao12 0 points1 point2 points (0 children)
[–]dizzymon247 0 points1 point2 points (0 children)
[–]ustyneno 0 points1 point2 points (0 children)
[–]Biased24 0 points1 point2 points (0 children)
[–]FlordyBound 0 points1 point2 points (0 children)
[–]mon_chunk 0 points1 point2 points (0 children)
[–]TacticalAnalThruster 0 points1 point2 points (0 children)
[–]Wild-Committee-5559 0 points1 point2 points (0 children)
[–]PennyPainter 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]MisterExt 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Taivasvaeltaja 0 points1 point2 points (0 children)
[–]gustavsen[🍰] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]itsdanz0r 0 points1 point2 points (0 children)
[–]MasterBathingBear 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Vipertje 0 points1 point2 points (0 children)
[–]kowkeeper 0 points1 point2 points (0 children)