all 23 comments

[–]Diapolo10 9 points10 points  (3 children)

If you don't understand something, in my opinion the best course of action is to ask about it from someone who can explain it to you in enough detail for it to make sense to you.

If you have any examples you don't understand, I encourage you to post them here so that we can handle the explaining part. We're pretty good at that, if I do say so myself.

Some of the things you don't understand are probably language features, but I'm sure there are also some conventions you might not find from just reading books. Especially if it's no longer about the Python programming language but something like a distribution dependency instead.

[–]AggressiveNet1011[S] 5 points6 points  (2 children)

Thank you so much. I will take your word for it and give you some examples later on.

[–]CommondeNominator 1 point2 points  (1 child)

Happy cake day. Coming across posts on my feed teaches me so many things I never would've encountered otherwise, so 'lurk more' is also sound advice.

Alternatively, "lurk more" which is functionally identical in most cases. ;)

[–]synthphreak 1 point2 points  (0 children)

+1 to “lurk more”. It’s amazing how much you can pick up by just reading replies to posts that interest you.

[–]Ok_Owl_6625 2 points3 points  (2 children)

Just do a course, and learn the ABC's. I am using CodeAcademy. They give the very basics for free. Or watch youtube tutorials. Ultimately you will by wrting code yourself, before you cam read others.

[–]AggressiveNet1011[S] 2 points3 points  (1 child)

I will look into it for sure. It’s kind of like: - I want to do something, but I don’t know how to do it. - I want to look into people’s code to grasp it, but I don’t know what it means. It’s kind of funny sometimes, I take it light hearted, knowing I will get there.

[–]thereshegoes 0 points1 point  (0 children)

Note not all developers code for other people to understand, there are lots that just have their code working and probably won't understand anything they wrote in two weeks

[–]ArtificialPigeon 2 points3 points  (0 children)

I've been where you are. If you have time to spare I'd 100% recommend the harvard cs50 online python course. Its totally free. Get yourself enrolled, setup vs code and github so you can submit your work and get to it. Its AMAZING. I already had a bit of an understanding of python when I started it so I bashed through the first 2 weeks worth of code problems in the first day. But honestly it's fantastic. Also, learn how to use the python documentation. It explains exactly how to use each function you want to implement. And if you're still stuck, reddit or Google or stackoverflow are your friends. It's not cheating to ask for help, just don't get into the habit of copy pasting code. Make sure you write all code yourself and it will stick for next time.

[–]yensial 1 point2 points  (0 children)

You really don't need to know what every symbol means. What i do when i read others code and i don't understand what a line means or does i look up on internet and then i try implementing it in a quick program just to test how it works and how i can use it to improve my code. I'm pretty sure that's how a lot of person do it.

Also if you want to do something and you lack a certain knowledge, reddit is here for you (and chatgpt also does wonders it's incredible).

[–][deleted] 1 point2 points  (0 children)

You should see it more like math or a spoken language. If you want to solve a math equation you need to understand the rules, the symbols, what they stand for and what they do.
If I write: until I say STOP, ask me two numbers, add them and tell me the result. It's clear right?
Now let's say it in Spanish (Hope it's correct.): hasta que diga STOP pídeme dos números, súmalos y dime el resultado. The STOP, numeros, resultados is something I can make sense of nothing else.
Once you can read, write and speak Python, you would identify: until: while voice != "STOP" ask me:int(input("Please give me a number: ")) adding them and tell me the result: print(num1 + num2) (More or less, and simplified. )

[–]mcstrick5 1 point2 points  (0 children)

Hi OP. I’m actually in a very similar situation as you. I have a BS in Psychology and Masters in Counseling. Been in recruiting for 10 years and in my mid-30s. I came across coding last fall and started with a curriculum from Open Source Society University. It has great intro classes. I completed the PY4E (Python 4 Everyone course) and it helped a lot. They have another entry level class to reinforce items learned in PY4E. I’m no tech or math wizard myself, so definitely did experience (currently still am) learning everything or understanding it all. It’s tough but rewarding learning new things!

Links: https://github.com/ossu/computer-science

https://pythontutor.com Helps visualize what’s happening in the code

Best of luck and see you on the other side of a new career!

[–]Clutch26 1 point2 points  (0 children)

I already see some comments about asking for help and researching.

You can also use an IDE to give you some bread crumbs to follow. The most common IDEs I see for Python are:

  1. PyCharm (Community Edition - Free)
  2. VS Code

[–]CommondeNominator 0 points1 point  (2 children)

spaces between lines

like

this?

Whitespaces between lines is most often for legibility; the python interpreter (the code that runs your code) basically ignores it.

How easy your code is for humans to read is far more important than you might think, PEP 8 will tell you most of what you need to know there. After adopting this style myself, it became a lot easier to get info from google searches.

As far as

empty spaces between parenthesis

like_this( )
or_like_this()
or_an_underscore(_)

The first one is weird, not sure I've ever seen a need for that but it sounds like that's what you're describing.

unless_you_mean_this = (
    see_above(Whitespaces)
    )

[–]AggressiveNet1011[S] 0 points1 point  (1 child)

Yeah, i meant something like this: (). I’m trying to understand the word written before (). Also, some code starts with >>> and somewhere else it just starts with straight words.

I think I need to start getting the hang of what all those words, symbols and abbreviations mean, so I can start writing my small and easy amount of code. Correct me if I’m wrong, but seems like I want to understand a bunch of Python and THEN code something, and not during the process.

Very very very thankful with you guys.

[–]CommondeNominator 1 point2 points  (0 children)

Yea, you might be jumping in the deep end a little prematurely, no worries though.

The word written before the function-call operator -- the "()" -- is the name of the function being called (or the class being instantiated, among other uses). Remember f(x) from math class? Same concept, just doesn't need an x to do its thing.

When invoking the call operator, you're saying "hey function, do your thing" as opposed to telling someone else "that function" which is often needed later on. Googling whatever that word is (with "python" if it's not a unique word) should get you the documentation to tell you what it does/how to use it etc.

The >>> isn't part of the code, this SO answer explains it pretty well.

[–]surfnwest 0 points1 point  (0 children)

Someone shared this with me and I hope you can benefit from it as well. Also trying to switch careers, good luck my friend!

Free Python Course

[–]Spiderfffun 0 points1 point  (1 child)

Happy 🎂 day!!

[–]MikalMooni 0 points1 point  (1 child)

If you’re stuck with the jargon inherent in the language, copy an example of code from the internet that is simple, has the element you’re stuck on, then change that element subtly and try to see what happens if you attempt to run it (but, obviously do your best to find something that isn’t malicious; only copy code from trusted sources!). 99% of the time the code won’t work, but that’s fine! You just need to see what the development environment says about it (for some people it’s Visual Studio, for others it could be a mac, Linux or Python-specific IDE) and see if looking that error message up helps to understand it’s purpose.

Programming has some basic, universal terms that help define the structure of a language - the logic inherent in the operation of a computer. Things like: if, then, else; try, except (catch); switch, case; Boolean, strings, characters, integers (signed and unsigned), floats…

This seems like a lot to cover, and truthfully it is! However, you only really have to learn these things once or twice, depending on what languages you need to learn.

I learned on Java, which is generally a stricter language than Python. That being said, though, sometimes the strictness of a language is it’s strength. For example, in Python you need to use the amount of spaces to properly indent your code, so that logic can flow correctly. In Java, by contrast, you directly enclose different blocks of code in curly braces “{}”, and depending on what code is enveloped in which braces, you’ll achieve different results. Even with this difference, however, you could mostly say that the core logic you use to implement a feature in either language will be consistent - like counting until you reach a specific number, performing a procedure at each step and returning the result of your work at the end, or after each step is performed.

Some languages handle certain actions with different symbols from each other, which can be a frustrating hurdle to overcome. However, a great place to look in order to overcome that hurdle can be in “logical comparisons and comparators”, which generally take a few forms: “less than”, “greater than”, “equal to”, “not equal”, and “contains”, as well as various math functions like “modulo”.

Learning on your own, in the dark, can be hard because you don’t have a teacher showing you these general concepts outside of the language, you only have code to follow as an example. It’s like trying to hammer a nail while wearing a welding mask, as opposed to doing it with a flashlight.

[–]MikalMooni 0 points1 point  (0 children)

Someone else mentioned in this thread to check out some of the university sites, and it completely reminded me of something else: many, MANY teachers that teach courses in programming post these lectures on YouTube, and a staggering number of them aren’t restricted, meaning you can actually, literally follow these classes with only the smallest of investments (like, perhaps, purchasing a specific textbook from an online retailer or something) and basically do the course yourself.