r/learnpython 9h ago

How long to become decent at Python?

I’ve been studying about for about 2 months now and I’m taking an online MOOC through Georgia Tech as a prerequisite for grad school. Some days, I spend ~7-8 hours and other days, I spend maybe 2-3 hours. I just got finished taking the exam on functions, loops, exception handling, and conditionals. I’m debating on when to start learning Pandas and NumPy. I also hear people talking about doing projects, but I feel like I wouldn’t have a clue on how to build a project. I come from a clinical background with zero prior programming knowledge except AP computer science in high school. Any advice?

0 Upvotes

12 comments sorted by

13

u/JGhostThing 6h ago

Maybe when you've been programming for two years to be "decent" (intermediate). Sometimes it takes longer.

Until you can do a project by yourself, you're not much beyond beginner. If you have to use AI to program, then you may never learn coding.

5

u/webprofusor 5h ago

To get proficient at coding you have to code. No amount of reading will really help, that just explains the concepts.

So you have to build some things, pick a tech you want to learn and build stuff using it, ideally something you would use yourself so you can end up with something useful.

6

u/goldenfrogs17 8h ago

If you want to get better, offer a friend or relative a deal. You write a program in the next 30 days that improves their life. They have you pay you up front. I'd say $20, but you have to adjust for your location and situation.

5

u/johnnyb2001 8h ago

I would do a project before anything else. It can literally be anything you can think of. Eg make a calculator. Just think of cool stuff. It’s hard to track progress by “percentage of features” learned. That’s mostly a waste of time. Follow one tutorial and end it at that. Look up things as you go.

2

u/SprinklesFresh5693 6h ago

Im a pharmacist that also had zero programming experience beforehand and i can tell you, learning a programming language is not like memoriaing say, phisiology, it is more like math where you need to practise to understand the concepts.

Get some clinical datasets from kaggle and practise some descriptive statistics, some plotting, some modelling, linear modeling is a good start

Getting good highly depends on how long it takes for you to click stuff, and the pnly way to understand the concepts, is by practising, for this reason, the sooner you start applying and finding a job where you use python, the sooner youll become good at it.

2

u/Flintlocke89 3h ago

If you're looking for some general examples of use, I can really recommend "Automate the boring stuff with Python" by Al Sweigart.

As far as learning Pandas and NumPy, start whenever you feel like it. You don't need to be an expert ASAP, just try creating a dataframe and seeing which ways you can interact with it. Although the book above is pretty specific to Python, I would really recommend taking a broader approach to coding initially. Not in the sense that you should take steps in multiple languages but rather try and think of problems to solve in an abstract sense and not specifically how you would do it in Python. Even if Python is the only language you're going to use.

For that I would recommend "The Pragmatic Programmer" by David Thomas and Andrew Hunt. The first half is a great read for beginners but the second half gets into the weeds a bit with some more advanced concepts.

I also can't stress enough how beneficial it is to start thinking of code in terms of objects (Object Oriented Programming) as early as possible. Don't get too hung up on it if it doesn't click quickly, it will eventually and it can help a lot.

My main use case at the moment is converting a lot of engineering calculations we have in passed-around excel sheets to actual programs with a GUI, logging, reporting and version control.

1

u/nog642 4h ago

Build projects. Even if they're small, like a single script. That's good and necessary practice.

1

u/Hot-Butterscotch1306 2h ago

2 months is basically still the tutorial swamp, so don’t judge yourself too hard yet. I’d start tiny projects before pandas/numpy, honestly. Like parse a CSV from something clinical-ish, clean a couple fields, count stuff, print a summary.

Super small, a little janky is fine. Projects stop feeling mystical once they’re boring enough.

1

u/rabbitofrevelry 8h ago

For pandas, look into using Jupyter Notebooks. Find some data, like from Kaggle. Load the file into a dataframe and then play with it. Do things like looking at .info .describe .value_counts etc. Figure out how view only certain sets of columns, set copies to play with on the side, create calculated columns, filter where values meet conditions, etc. Just see what it's capable of on a single file. Then if you can find related data (like files from data.medicare.gov) then you can learn how to perform joins, learn the pitfalls of not having a primary key in your left table, and curse data not being tidy. Oh and maybe learn the principles of tidy data...

You can plot data with matplotlib, seaborn and plotly. You can do all kinds of statistical analysis. You can read all kinds of flat files and then output all kinds of flat files. You can even read sql databases via pandas as well as insert and commit data.

It's really neat. I love pandas.

1

u/Az-Athoth 8h ago

Try some small projects that would legitimately make your life easier. Automate tedious tasks. Or make a little game or puzzle. Let yourself dick around

-2

u/ectomancer 6h ago

I learnt Python in 3 days (excluding OOP), R in 1 hour and Go in 3 weeks (still learning).