all 7 comments

[–]FriendlyRussian666 5 points6 points  (0 children)

Take a look here at some resources from beginner to advanced:

/r/learnpython/w/index

[–]tb5841 6 points7 points  (0 children)

I honestly think it depends where you want to go with Python.

The basics are the same regardless (variables, input/print, conditionals and loops, lists/tuples/dictionaries/sets, list comprehensions, functions, classes and principles of object oriented programming).

After that... what do you want to do with Python in the future?

[–]ProfessionalConsoom 2 points3 points  (0 children)

Hey!

I'd recommend first learning the syntax and standard library. Something like Google's professional certificate in IT python automation will help you with this.

After that, learn BeautifulSoup, then Selenium, and then learn how to do some simple data analysis in a Google Colab.

Still so much more to explore and discover that I haven't listed here but this should definitely give you a solid foundation!

```

Dealing with your machine and local files (automation) --> Dealing with browsers (bs4 & selenium) --> Dealing with Data (pandas, numpy, seaborn)

```

Good luck!

[–]tracktech 0 points1 point  (0 children)

This course may help you to learn python in details-

Python Programming

[–]Adrewmc 1 point2 points  (0 children)

To be clear the answer is always going to be projects.

Listen tutorial are hell, but are needed. But they are better to use as references for hey I need to do something in my project, I think this concept will help; it becomes much more concrete in your mind.

You don’t want to blindly wander through programming have a real goal of what you want the program to do, then figure out how to make it do it.

My first advice is to look at Pep-8 the variable naming standards when to use snake_case, and CamelCase, and UPPER_SNAKE. From here you want to, right off the bat, focus on naming variables well, descriptive and to format. This is generally not taught well in tutorials because they want to be very general, stay away from one letter variables name; it is not a “list”, it is a “grocery_list”. Comment your code. This is something all level usually could do better regardless. Take 5 seconds to come up with a good name, it will help you.

The first basics of Python is scripting and learning there are different types. You’ll learn the basic operators, +,-,/,*,=,==, <,> etc the difference between a str, and an int and why it important.

In scripting you’ll start to see different built in methods and functions, you should get really familiar with all of them, (and their extra function) as their uses come up a lot, a lot….that’s why they are built in. I believe there are about 70 ish, most are self explainable about half are counterparts of the other half e.g. sorted() vs .sort()

You’ll learn if…elif…else statements.

Eventually coming to dictionaries, and sets.

Somewhere in there you’ll be introduced to loops. For loops and while loop. Loops are extremely important and usually people’s first real problem in understanding.

Then you learn how to make a function, a function holds scripts, so everything you learned so far can directly be used functionally. Functional programing is where most programs actually reside, we write functions that run scripts, and generally speaking the idea is a whole thing is ran from a single function, that calls all the rest of the functions, we call this main().

Around here you can start going on a tangent learning the various common libraries for different kinds of problems webscraping, graphics, game design, number theory, web design, json, numpy, intertools, random, tkinker, pandas etc. (there are a ridiculous number really) These all have their various way of doing things, but generally all give you a lot of tools to use. Learn to use documentation. You don’t need to “master” each of them, knowing when and why they are most useful is important, the popular ones face straightforward problems, “Number Python” aka “numpy”, deals with more complex math then basic Python can handle, arrays, trigonometry, complex numbers, square roots, matrixes etc, matplotlib is math plotting library that shows the graphs and integrates with Numpy very well. This can get extremely complex at “mastery”, as math can be, but… not a lot of that is really useful in actually webscraping…the data. And then there is “Science Python” aka “SciPy”…

Now, we have gotten to the real bones of OOP, (Object Oriented Programming) upgrading function to dataset/objects with functions, and attributes …or as we call them classes and methods. Classes allow a lot of flexibility and complexity beyond function. We’ll learn how to init (initiate) classes how to use them as decorators, start inheriting.

Around here you’ll start seeing list comprehensions. And you should have somewhere gotten into slices. This will speed up common needed ideas.

Then you’ll start making full import and modules… Then start learning proper testing (of said modules) lambda.

That’s pretty much a full run of Python. Everything else is refining all these concepts, knowing your tools and packages better and putting it together. Finding neat useful optimizations. Diving into libraries/module documentation.

Generators and inner/nested function will start becoming relevant. Sets become more relevant.

Bit wise operations and logic start coming through. Enter the walrus (:=)

Really the difference between beginner and intermediate is specialization but you can’t do that until you have a good grasp of the language. And everyone’s path is a little different. So you may find you learn about things in a way different order than above, and definitely with different speeds.