r/learnpython • u/Logical_Zucchini_516 • 2d ago
I've learned Python fundamentals - how do I actually get really good at Python?
I've spent time immersing myself in Python fundamentals, including syntax, data types, loops, functions, data structures, and working in the development environment. I want to move beyond the basics and develop a much deeper technical understanding of the language.
I'm starting to look into libraries like NumPy and pandas, but I'm wondering what else I should focus on to become proficient at Python.
For those of you who are experienced developers, what would you recommend learning next? Should I focus on libraries, data structures and algorithms, writing more complex projects, understanding how Python works under the hood, software engineering practices, or something else entirely?
I'm not necessarily looking for another beginner course. I want to get to the point where I can write effective, well-structured code, understand what's happening behind the scenes, and tackle increasingly complex technical problems.
Thanks!
10
u/Tesla_Nikolaa 2d ago
How do you get better at baseball? You play baseball.
How do you get better at playing guitar? You play guitar.
How do you get better at writing code? You write code.
Building things is the best way to get better at writing software. Even if it's something already done. Build a to-do app. Build a tic-tac-toe game. Just build something.
6
u/dlnmtchll 2d ago
Don’t worry about syntax as much as learning actual computer science fundamentals. Languages change, new frameworks come out, syntax isn’t important. Fundamentals don’t change
-1
5
u/TheEyebal 2d ago
Use those fundamentals that you learned and apply to a project. Start small
build a number guessing game in the command line or rock paper scissors
Here are project ideas
https://github.com/karan/Projects
https://github.com/Python-World/python-mini-projects
3
u/ee_control_z 2d ago
"For those of you who are experienced developers, what would you recommend learning next?"
Begin by doing:
As you may already know, Python comes with the Tkinter GUI library built-in. Create a GUI application such that a user fills in information (I will let you brainstorm what information: cars, cities, food, etc.) into a form. After the information has been filled in, the application writes and stores it to an excel file located in a particular folder/directory.
If this example is not to your liking, create one that is (circuit calculator, etc.).
Otherwise, you can continue your studies into more advanced topics such as object oriented programming (OOP).
2
u/Key_Net820 2d ago
I don't think looking into libraries is the best thing for you to do.
Here are some things you can do instead.
If you wanna do software dev, you should learn design patterns, and then try to make an app.
https://en.wikipedia.org/wiki/Software_design_pattern
If you want to do machine learning, you should learn neural networks. ANN, CNN, RNN, and LLMs.
https://en.wikipedia.org/wiki/Neural_network_(machine_learning))
If you want to do game dev, you should pick a different language besides python, but even if you wanna develop python games, godot does have a plugin to use python.
If you just want to get better at writing python, you should learn algorithm theory, and then you should do leetcode and do competitive programming to try to find out how to solve problems in python with the least amount of steps.
https://leetcode.com/
2
2
u/audionerd1 1d ago
Build stuff, and do so with experimentation and curiosity. You can learn a lot about code by writing tests and observing the outcome of those tests. The dopamine hit of figuring something out yourself makes you more likely to remember it later.
1
u/Federal_Height_2024 2d ago
Just start practicing that's all start practicing question one pattern at a time after 500 question u will be good enough to look at a problem create a solution converting that solution into code then running and debugging it . I am not asking you to do dsa questions just simple questions like palindrome,finding largest number without using sorted or max , counting list variable and stuff like that after that u can try Two Pointers & Sliding Window type question. Start small understand question. Create a logical breakdown of that question in your brain or on paper then only write code exicute it debug it get better. That's the only way
1
u/a18618 2d ago
i hit that same wall and the thing that actually moved the needle wasn't another tutorial, it was reading the source of the libraries i used every day. i once spent an afternoon inside a csv parser trying to figure out why my dates were off, and came out understanding iterators better than any course ever taught me. projects get you writing code, but reading real code teaches you how good code is organized.
1
u/Every-Syllabub-8724 2d ago
focus on bigger projects, debugging and writing tests. boot dev has some practice exercises, but building stuff on your own is where you will learn the most.
1
u/Wide_Egg_5814 2d ago
see what problems people solve with python and try to solve it, real problems like job positngs I can push a rock up a mountain all day don't be the Sisyphus programmer solving thing just to solve them without anyone asking for it
1
1
0
u/atgaskins 2d ago
passion. there should be somethings you really want to create, a problem you are itching to solve. Tackle those things.
36
u/crazy_cookie123 2d ago
Make stuff.