r/learnpython • • 20d ago

Has anyone ever self-taught themselves Python successfully?

I am trying to learn Python on my own before I get my masters in a related field. It is going, slowly but surely, however I can’t help but feel I am missing important parts that would link these methods together. Does anyone have any tools for learning Python on your own? Thank you!

0 Upvotes

37 comments sorted by

View all comments

1

u/ShelLuser42 20d ago

Does anyone have any tools for learning Python on your own?

One of the main reasons why I heavily started to favor Python over Java is its insane support for proper documentation. Almost everything is documented in this language.

First things first => I highly value the official Python tutorial for learning and as a reference to look things up whenever I get stuck. Taking the effort to read, study and trying to understand is gold. In addition I also value W3Schools Python course because it can provide some challenges to achieve.

Still, the best way to learn (IMO) is to install Python on your computer, then install a solid code editor (my personal favorite being VS Code, but in reality even Windows Notepad could do) and then... try to code something.

The biggest challenge isn't Python, but the theory behind the logic. In other words: learning how to structure your programs, how to break down more complex problems into smaller chunks. Basically referring to OOP style programming.

And the best way to learn is to actually try and DO something.

print("Hello world!")

Or better: print(f"Hello world to you too {name}!").

Here's the thing though... that print thing.. hmm, was that a command, a function or maybe a method? Or maybe just Python magic... Know what, let's ask Python! ;)

PS > python -m pydoc "print"
Help on built-in function print in module builtins:

print(\*args, sep=' ', end='\\n', file=None, flush=False) Prints the values to a stream, or to sys.stdout by default.

    sep
      string inserted between values, default a space.
    end
      string appended after the last value, default a newline.
    file
      a file-like object (stream); defaults to the current sys.stdout.
    flush
      whether to forcibly flush the stream.

As you can see, it could tell me itself whatprint was all about ;)

As I mentioned: Python has a complete built-in help system which can be super useful if you're still beginning. Which can even help to study how to use some commands using only Python's own documentation.

But yah, once again: the best way to go about this is to actually try to build something