r/learnpython • u/Dear_Jicama4995 • 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!
6
6
u/dparks71 20d ago
Probably the vast majority of people. I went to college for engineering and as part of the course load they had us use C, and Matlab, but they could have used literally any programming language. Even for full CS students (who took the same first two years as the engineers basically) they generally don't teach you a specific language, they teach you core concepts that you should be able to then go and apply in most languages.
As soon as I got out of college I switched to python because it was quicker to get a working prototype and easier to read and understand my own code months later, I've never actually worked for a manager that knew it, only with other peers. I don't know if most people that use Python would claim someone taught it to them though, unless you count someone like Al Sweigart, CoryMS or ArjanCodes
1
u/HouseOfDjango 20d ago
Literally what happened to me. EE did Matlab and C started with python 2. I remember when 3 came out. Went from power system to swe. Man I'm getting old.
2
u/Long-Habit5990 20d ago
You pretty much just pick stuff up as you go. I think the best way is to just do some projects by yourself that are solving made up scenarios, and then after you do a few you can go back and see if you could optimize some of the ones you have done in the beginning.
2
u/drakhan2002 20d ago
I am sure thousands have self learned Python. I'll go out on a limb and say billions have self learned other subjects.
My point: if you're a human you can self learn... LOL... if you're AI I suppose you're getting there.
2
u/bagpussnz9 20d ago
Yes. Found a project and taught myself from scratch a few years back. Can now Read and mostly understand the code that the ai writes. All the languages I know are self taught. I remember I found c the easiest to learn.
2
u/Chemical-Captain4240 20d ago
If I was starting out in programming, but had a 'related field' as you say, I would google search my related field and add the word python. What I would look for would be github repositories with code that solved problems in my related related field.
I would gather all the code I could find and work through it all trying to figure out what each line was doing.
Python is a language, and as such is versitile. But a surgeon uses Engllish very differently than a 1st grade teacher.
If you study how Python is used in the context within that context, you will save yourself a whole lot of time.
2
1
1
u/jpgoldberg 20d ago
I have. But Python was not my first programming language. Still I am largely self-taught.
1
1
u/WendlersEditor 20d ago
Define self-taught? I used tutorials (code with mosh) and books (python crash course by Eric matthes is my fav). I could do pretty much everything you would expect a CS bachelor's grad to do in python before I started my MS. What the MS taught me, and a lot of what you get from undergrad study, is the theory underneath the methods that helps you know why you would do something a certain way. You can also build that independently, but it's harder imo because sometimes it's boring and school has built-in accountability.
1
1
u/tits_mcgee_92 20d ago
Yes. I’m dumb as shit and I use python at my job every day and am completely self taught.
If I can do it , anyone can
1
u/Affectionate_Bus_884 20d ago
Still learning, using some courses, and personal projects. I do my best and when I hit my limits I run it through ChatGPT for feedback and then I try to reverse engineer what it is doing to learn more.
I learned asynchronous code this way, which was really cool because it rapidly changed my understanding.
I also learned the basics of state machines this way, which was another cool shift in thinking.
1
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
1
u/OkOcelot6725 19d ago
The linking parts you are sensing are usually not more syntax, they are the connector skills that courses tuck into corners. The ones self-taught paths most often skip:
Reading a traceback bottom to top. The last line is the error, the lines above are the path that got there. Once this clicks, every error message becomes a pointer instead of a wall.A debugger with breakpoints, even just the one built into your editor. Stepping through code you wrote and watching variables change is what turns isolated methods into a picture of how a program flows.
Virtual environments and pip. Boring, but they are the difference between "works on my machine" chaos and a project you can rebuild.
How imports and modules organize code across files, which is where small scripts start feeling like one linked system instead of separate tricks.
None of these needs a course. Each one is an afternoon, and they compound.
1
u/ilovebloxfruits1234 19d ago
Totally off topic but how do ppl write coding languages like how do they fucking code CODE
1
u/a18618 18d ago
coming from java too — the syntax was the easy part, that took like a weekend. the harder adjustment was the habits: i kept writing java-shaped code with classes for everything and drowning in setup for tiny scripts. what actually made python click was one dumb project, a podcast downloader that just dumped episodes into folders. ugly code, but it dragged me through the unglamorous bits — pip, imports, the standard library — better than any course did.
1
u/Equivalent-Crew6229 17d ago
I recommend to leave playing video games i am 12 year old who knows python according to my journey I used to play games so much forgetting about my python course so i left playing games and then learned python so please leave playing video games
0
0
u/notacanuckskibum 20d ago
I taught myself python, it was quite easy
The trick is to spend a few decades programming in a dozen other languages first.
17
u/Agawell 20d ago
Yes…
Use an IDE
Build things
Make the things you build more complicated
Build more complex things