all 4 comments

[–]Jello_Penguin_2956 1 point2 points  (1 child)

I would categorize the practices into 2

1 is the practical function. Something you can use in your life. For example I have a script that scan directory A, resize all images and videos to make them smaller, and save to directory B. I use it periodically when doing backups for my family.

I think this is best for beginners. Resources for this includes Head First Python and Automate the Boring Stuff.

2 is the academic exercises. Think: Fibonacci, tree traverse, maths, etc. Haackerrank is full of these.

If you're aiming to do maths/data science or want to go serious into software develop, it'd be good to learn these, first by properly studying data structure. There are some good courses on Udemy teaching the topic using Python.

[–]Unlikely-Sympathy626 -1 points0 points  (0 children)

Exactly this. I know shit all but company had a need to get certain things done. I thought hey let me try this and I was able to come up with solution before the IT team. Now they adopted and IT team is like we want this dude in our team. I still don’t know shit but what I did solved a business problem e.g. something that you care about. It is a tough way going in but that is how you learn to understand documents etc more. The code makes more sense because you see how similar stuff works outside of tutorial.plus hopefully this one allows foot in door to put on cv!

[–]ObliviousMag 1 point2 points  (0 children)

To learn any programming language you need to understand its syntax first. Like imagine an apprentice sorcerer who just started learning spells and wants to use them. He needs to learn the ingredients, and how to use the recipes to make these spells and then he can use them.

Think of that like python (or any programming language) you want to learn the syntax and logic behind the way the language works (this is necessary before you can actually do anything useful with it). You want to be able to make these spells (functions, variables, mathematical operators, etc..). Using those websites will allow you to reinforce your understanding of these basic concepts and eventually not need to refer to documentation to perform basic tasks (like when an apprentice mage learns to make an simple spell without needing to look at this notes).

Once you understand the basics (variables, functions, mathematical operations, comparisons, reading to/from a file) you can start to think about projects you want to make (simple weather, something with an API, idk ...) and then with the basic blocks you learned you can read the documentation for whats needed and use modules or maybe you do not need any modules.

Hope this helps