Here's the advice I give to a lot of people once they've got some basics done (perhaps by following the learning paths suggested in the wiki for this subreddit). Practice! Practice! Practice! That is the only way. Programming (whatever the language) is a practical problem-solving skill. You have to make, and learn from, a lot of mistakes (much like learning another human language). I know it can be frustrating at times, especially when faced with code you want to reuse but cannot understand. Only you can find the motivation. Why are you learning to programme in the first place? Is your learning objective SMART - specific, measurable, achievable, (sometimes agreed), realistic (or relevant) and time-bound, (or timely)? If it is something soft, like "upskilling" then it will probably not help you much. It is hard to learn anything in the abstract, not least because it is difficult to feel passion for what one is doing. I strongly suggest you look to your interests, hobbies, obligations (family business, charity activities, work) to look for opportunities to apply Python. You will learn far more about Python and programming when you work on something that resonates for you and that you have some domain knowledge of (or incentive to gain such knowledge in). When you are copying tutorials/examples, don't just copy. Experiment. Break the code and understand why it has broken. The interactive python shell is your friend, I found it the best learning aid because you can quickly try snippets of code and get immediate feedback. (Consider installing ipython which wraps the standard shell for more convenience.) Start very simply and regularly refactor the code as you learn new things. Enhance as you see opportunities. If you haven't already, take a look at Automate the boring stuff with Python (free to read online). At first, the tasks you automate will be trivial and hardly worth the effort BUT because it is about the problem and not Python, it will be more rewarding for you. Many beginners are mixing up coding (writing instructions in a programming language) with problem-solving (creating an algorithm) and their lack of knowledge of the programming language and how to use it is a distraction from the problem-solving. For most programmers, the coding part is the final and easy bit. Order: Actually making sure the problem is properly understood. Often we start with only a vague understanding of the problem. Ensuring we know what outcome is required. What does good look like? How will the information be presented, will it be on-screen or in a file, or a database. Determining the data representation. Exactly what data is required, in what forms, where from. It is a one-off or lots of cycles or combining lots of information. Work out how to do things manually in the simplest possible way, explaining every little step (assume you are giving instructions to someone with learning difficulties), Computers are really dumb, and humans make lots of intuitive leaps and take short-cuts This is one of the hardest things to grasp when first learning to programme Computers don't mind repeating very boring things, so the simplest but repetitive manual approach is often a good approach to start with for a computer Later, you will learn different ways of selecting / developing an algorithm which doesn't depend on a manual approach learning from others In general, when learning and working on something new, where you are following some kind of tutorial, where others have provided an answer, follow the steps I laid out above looking for a solution (so make sure you understand the problem first, figure out what the outcome should be, etc) try to solve the problem yourself before looking at someone else's solution look briefly at someone else's solution and try to understand what they've done at a high level and see if you can solve it that way fully review someone else's solution, try it out, play with it (break it, improve it) - be super critical (watch ArjanCodes YT videos on code reviews) update your algorithm and implement a new solution (including testing, if you can) write some notes, not on low level detail but on principles, approaches, key algorithms, and summarise what you learned (I keep my notes in markdown format in Obsidian, synced between devices). Answer from Deleted User on reddit.com
🌐
Reddit
reddit.com › r/learnpython › what is the most effective way to master python?
r/learnpython on Reddit: What is the most effective way to master Python?
October 17, 2023 -

I have realised that all my life I have just sat through hundreds of Python courses without actually gaining anything of value. How did you become proficient in Python where you reached a stage where you were able to accomplish something outside of what is taught in a course?

I see people always automating stuff using Python, writing scripts, bots etc to perform functions they want. How do I reach that level? How do I come out of the loop of just going through courses?

Top answer
1 of 43
126
Here's the advice I give to a lot of people once they've got some basics done (perhaps by following the learning paths suggested in the wiki for this subreddit). Practice! Practice! Practice! That is the only way. Programming (whatever the language) is a practical problem-solving skill. You have to make, and learn from, a lot of mistakes (much like learning another human language). I know it can be frustrating at times, especially when faced with code you want to reuse but cannot understand. Only you can find the motivation. Why are you learning to programme in the first place? Is your learning objective SMART - specific, measurable, achievable, (sometimes agreed), realistic (or relevant) and time-bound, (or timely)? If it is something soft, like "upskilling" then it will probably not help you much. It is hard to learn anything in the abstract, not least because it is difficult to feel passion for what one is doing. I strongly suggest you look to your interests, hobbies, obligations (family business, charity activities, work) to look for opportunities to apply Python. You will learn far more about Python and programming when you work on something that resonates for you and that you have some domain knowledge of (or incentive to gain such knowledge in). When you are copying tutorials/examples, don't just copy. Experiment. Break the code and understand why it has broken. The interactive python shell is your friend, I found it the best learning aid because you can quickly try snippets of code and get immediate feedback. (Consider installing ipython which wraps the standard shell for more convenience.) Start very simply and regularly refactor the code as you learn new things. Enhance as you see opportunities. If you haven't already, take a look at Automate the boring stuff with Python (free to read online). At first, the tasks you automate will be trivial and hardly worth the effort BUT because it is about the problem and not Python, it will be more rewarding for you. Many beginners are mixing up coding (writing instructions in a programming language) with problem-solving (creating an algorithm) and their lack of knowledge of the programming language and how to use it is a distraction from the problem-solving. For most programmers, the coding part is the final and easy bit. Order: Actually making sure the problem is properly understood. Often we start with only a vague understanding of the problem. Ensuring we know what outcome is required. What does good look like? How will the information be presented, will it be on-screen or in a file, or a database. Determining the data representation. Exactly what data is required, in what forms, where from. It is a one-off or lots of cycles or combining lots of information. Work out how to do things manually in the simplest possible way, explaining every little step (assume you are giving instructions to someone with learning difficulties), Computers are really dumb, and humans make lots of intuitive leaps and take short-cuts This is one of the hardest things to grasp when first learning to programme Computers don't mind repeating very boring things, so the simplest but repetitive manual approach is often a good approach to start with for a computer Later, you will learn different ways of selecting / developing an algorithm which doesn't depend on a manual approach learning from others In general, when learning and working on something new, where you are following some kind of tutorial, where others have provided an answer, follow the steps I laid out above looking for a solution (so make sure you understand the problem first, figure out what the outcome should be, etc) try to solve the problem yourself before looking at someone else's solution look briefly at someone else's solution and try to understand what they've done at a high level and see if you can solve it that way fully review someone else's solution, try it out, play with it (break it, improve it) - be super critical (watch ArjanCodes YT videos on code reviews) update your algorithm and implement a new solution (including testing, if you can) write some notes, not on low level detail but on principles, approaches, key algorithms, and summarise what you learned (I keep my notes in markdown format in Obsidian, synced between devices).
2 of 43
26
projects. like meaningful ones, not busywork stuff. you only needed one python course, max. have ide in one window and google in another and struggle to build something that didn't exist yet but should.
🌐
Reddit
reddit.com › r/learnpython › python mastery
r/learnpython on Reddit: Python Mastery
March 29, 2024 -

Hello everyone, I'm an undergraduate physics major doing a minor in computer science. I'm interested in getting into the AI sphere but have almost no knowledge right now. From what I can see mastering the ability to write code and problem solve is extremely important for AI development. So for someone like me who's main focus is physics and not CS is it possible to "master" coding on python or other sources? Or is coding a skill without a ceiling that people keep improving at? Also if you had to go back to the start of ur journey with python or coding in general where would you go to learn? Which youtubers, books or courses would you use?

Top answer
1 of 2
1

I can see mastering the ability to write code and problem solve is extremely important for AI development.

Well, they are core skills for anyone in software development no matter what area.

is coding a skill without a ceiling that people keep improving at

Pretty much. A python programmer who is proficient in one area will have to learn new things when moving to an unrelated area.

2 of 2
1

I had written a good answer, but my cell phone battery ended :S Here's a summarized version from what I remember (all of this is my opinion, Tthere are no "right" answers here):

  • There's no theoretical ceiling in how good of a programmer you can be

  • There's a point where you become "fluent" and can write in a language with ease (much like learning a spoken language)

  • There's a skill that involves "developing" programs. Think fluency like being able to express your ideas, think "development" as being able to create larger or more complex ideas "on paper".

  • I believe that using AI can benefit from fluency, but it's not required.

  • I believe that developing AI programs (for example, writing tensorflow) needs fluency and at least a bit of the "development" skill (the need for such may be offset by the people that you work with)

  • Remember that AI, data, machine learning are separate from programming (maybe a Math/Physics or Physics/Engineering comparison is apt)

  • An important thing is that you don't need to gain fluency and then go do stuff. I gained fluency while doing stuff (and I believe most people are like that too). Of course, a structured course might help to pin down the basics (I recommend the book Python Crash Course, about youtubers/courses, I don't know).

All the best!

🌐
Reddit
reddit.com › r/learnpython › i want to master in python! help me!
r/learnpython on Reddit: I want to master in Python! Help me!
May 17, 2025 -

Will you guys provide me any guidance on how to achieve mastery in Python. I have 2-3 months and I plan to give daily 1hr to the Python. Are there any specific YouTube videos, courses, or websites you want me to try or recommend? I am a beginner with basic knowledge of Python.

Currently I am a third-year CS student specializing in Cyber Security. My brother insists that coding is essential for this field. Although tbh I don't like coding, but now I have decided to do this and focus on mastering Python during this vacation !

I just need some guidance or tips! :)

Top answer
1 of 3
3
2-3 months may not be enough but try the course 100 days of code python udemy its a really good course and gives you hands on experience and if you are not familiar with concepts and logic it will take you some time to find the flow but you will get there just struggle if need arises good luck
2 of 3
2
There is no such thing as "mastering" a language. Get the idea of "mastering" a language out of your head. That's not the right way to think about things at all. Nobody has ever truly mastered a language. Even the creator of C++ has said openly that he doesn't know everything there is to know about C++. No one person can know everything about a language, even after decades of experience with it, and a time frame like a couple months makes this even more absurd. I can respect that you want to improve at programming despite not liking it, but I want to warn you that if you are not interested in programming, you may struggle more than someone who is interested, especially given the short time frame you set out here. Still, programming is a discipline that rewards persistence and the willingness to learn above all else. Another thing to remember is that the real learning doesn't occur while you're watching videos or following courses. It comes when you are writing code. You are placing too much emphasis on learning a language, and not enough on learning programming in general. Programming languages are tools to accomplish a goal, and as such software and scripts can be written in a wide variety of different languages, but at the end of the day what makes someone a good programmer is not how well they know the ins and outs of the language they're currently writing, but how well they understand the fundamental ideas behind programming as a whole. This is doubly important when it comes to security related issues, because while security is a wide field, large portions of it deal exclusively with the small details of exactly how software works. If you want to work with threat detection, malware analysis, or anything like that you're going to want to know more than just Python. I'm not trying to say you can't improve as a programmer in 2 to 3 months, you absolutely can. I just think you might want to consider placing your goal posts somewhere a bit more realistic. You're a third year student, and I would presume you've done enough programming by now that you should be able to teach yourself Python pretty quickly even with little to no prior experience. But learning how to use the language effectively is so much more than that. Python's biggest value in security is that it's used to either write your own stand alone scripts, or to interface with various security tools. That means you also need to learn those tools and learn how to use python with them. And none of the general python courses are going to teach you that stuff.
🌐
Reddit
reddit.com › r › Python › comments › 70dh5s › python_mastery
r/Python - Python mastery
September 20, 2017 -

I was asked during an interview yesterday "on a rank of 1 through 10, 10 being an expert on python, where would I rank myself?" It got me thinking that how/what is that scale not just for me, but for the rest of the python community.

Personally, I see 10 as the creator and python (the actual language) development community since they know the ins and outs (they wrote it). People that have written successful frameworks like Flask and Django or libraries like numpy and scipy would also be on the 10 side. I see beginners as those that have just finished a beginner python course online that go through the basic fundamentals of programming (print, for loops, if statements, methods, and maybe classes/inheritance).

However, for the numbers in between, I don't really have a scale or metric for them.

What should I be doing to even consider myself a "level 5" developer?

Should I have projects in various forms of python: web dev, c level, data science, etc.

Or, are there specific methods and tricks in python that I should know?

🌐
Reddit
reddit.com › r/learnpython › fluent python book vs advanced python mastery (by david beazley)
r/learnpython on Reddit: Fluent Python book vs Advanced Python Mastery (by David Beazley)
November 20, 2024 -

I have roughly 4 years of experience writing python code. I have made projects spanning a few thousand lines of code. However, I realize I write python like a 10 year old writes english. It does the job, but there are more efficient and elegant ways to write it.

I want to learn AI and also write software related to robotics in the future, but before I delve deeper into that, I wanted to improve my style of writing python. After much research I narrowed my decision to Fluent python book and Advanced Python Mastery course both linked below.

https://www.oreilly.com/library/view/fluent-python-2nd/9781492056348/

https://github.com/dabeaz-course/python-mastery?tab=readme-ov-file

I in fact read the first 3 chapters of the first book and have skimmed through the other course. However, reading and coding from the book is taking too long, and I am not sure if all of that is more than I need. On the other hand, the course seems superficial (I might be wrong) and a bit outdated too (its specific to python 3.6, excludes certain features like pattern matching too).

All I want to know is should I spend time and finish the fluent python book (cause I don't know which chapters are immediately relevant and which aren't) or should I read the Advanced python mastery course material instead (and risk losing out on some necessary insights into the language)? Or is there another better way to improve my python (go from beginner to advanced, say)? I am looking to finish whatever resource I use in around 30-50 hours.

🌐
Reddit
reddit.com › r › learnpython › comments › 9u898s › what_counts_as_mastering_python
r/learnpython - [deleted by user]
November 5, 2018 - I'd say when you're fluent, you can call yourself a master. That means you're so good at the language that programming isn't the limiting factor anymore, but rather your ability to problem-solve is. ... Subreddit for posting questions and asking for general advice about your python code.
🌐
Reddit
reddit.com › r/learnpython › is mosh hamedani's course on python mastery worth it?
r/learnpython on Reddit: Is Mosh Hamedani's Course on Python Mastery Worth it?
July 21, 2021 -

Hello everyone,

I am a fresh graduate in economics, but I lack technical ability for helping me get a decent job.

As a result i decided to try and ,earn python on my own, however, I have struggled to learn python in a cohesive manner and am just not comfortable.

Mosh's video on python programming for beginners is wildly popular on youtube, but on going through his website I realised he offers a paid course for python mastery which includes topics missing in the video.

Do you think its worth it to enroll in the same?

If not, can anyone help me guide and establish a python learning plan with detailed resources?

Thank you.

Top answer
1 of 9
12

Mosh does have a popular youtube channel. But IMO, that style of learning just doesn't fare well with learning to code. Learn in one videos or the like really don't ask you to do anything but watch. And what does watching do? Not much.

What someone really needs to do is exercises and lots of typing up code.

I always recommend Zed Shaw's book, Learn Python 3 the Hard Way. Lots of typing and exercises that build upon themselves. Some people like his style, some don't. But it can help forge a solid foundation to build everything else from. If anything, it helps you with muscle memory for typing up python.

The only paid course(which you can also audit for free) that I can recommend right now is Google's IT Automation with Python. The quality of the content is quite good, but you will want to take notes and practice what you've learned as it moves on quickly without cementing the topics in your brain. It teaches you basic python, scripting, the linux CLI(bash), regex, working with CSV files, testing, problem solving, etc.. Again, it's a good course for foundation building and it will expand your horizons to what's possible and give you some exposure to Bash.

Beyond that, Arjan Codes and Corey Schaefer are solid YouTube channels to follow. Good examples and lots of topics. They don't do the learn in one videos like Mosh or Derek Banas.

Books are your friend. O'riely books are great, Packt is hit or miss, and titles like Fluent Ptyhon and Automate the Boring Stuff with Python are recommended often.

You are not the first to ask a similar question, so take some time to search this sub for folks that have wondered the same. Also, if you have discord, I highly recommend the Python Discord server as there are lots of helpful people on there for any of your python coding needs.

So, my suggestion is to maybe look at other options first that do not cost any money.

Cheers!

2 of 9
7

I don't know about Mosh' course but I would recommend Automate the boring stuff with Python as it project based and you get to improve a lot by doing the exercises. You should always apply what you learn so a good learning plan is anchored around what you want to achieve and where do you want to go with Python. I think automate the boring stuff is a good starting point though wherever you go.

Find elsewhere
🌐
Reddit
reddit.com › r/learnpython › self taught python programmers: what was your favorite course(s)?
r/learnpython on Reddit: Self Taught Python Programmers: What was your favorite course(s)?
May 7, 2024 -

Hello the self taught people of Python, What courses did you take to learn Python? I'm thinking about buying the "100 Days of Code: The Complete Python Pro Bootcamp" by Angela Yu. To the people who finished the course, is it worth it? How far did this course get you? Do you recommend any other paid or free courses instead or in addition to this course?

Edit: Wow this was almost a month ago. I ended up buying Angela Yu's course and am now learning python. I am nearly 20 days into the program at this point. It's been great. I am truly blown away by how kind and welcoming this community is. Thank you all so very much.

Edit 2 (8/8/24): Its now been 3 months ish. I finished Angela Yu's course up until day 50, after that it was really all project ideas and no learning basic python. I've moved on to web development and I'm learning HTML, CSS, and JavaScript, and some other popular frameworks. The course I bought was colt Steeles web dev course. If it all goes well hopefully Ill keep updating this every couple months just to see how far I've come, its always fun to look back.

Edit 3 (4/9/25): It’s been 4 months since that last update, I’m still working on web development and everything’s been going great.

🌐
Reddit
reddit.com › r/learnprogramming › is someone with a mastery of python as employable as someone who has mastered a different language?
r/learnprogramming on Reddit: Is someone with a mastery of Python as employable as someone who has mastered a different language?
April 5, 2020 -

Hi everyone, I'm sorry if this is a stupid question. Currently I know how to write code in Python and C/C++, but I'm not really "proficient" in either one. I want to take my understanding of one of these languages further, but I can't decide which. Everyone I've ever talked to has told me "stay with c++, it's the best, it's the fastest during runtime" which doesn't actually explain anything to me. I hope to one day be employed as a software engineer and I certainly want to make my resume as appealing as I can. So if I don't yet know exactly what type of software I want to write, should I learn Python because of its rapid development time or should I continue to try to master c++ because it's the "proper" way to do things? also as a follow up question which frameworks tend to dominate the industry within each language? Every time I learn a new framework someone tells me "this isn't used in actual development, it's not going to be impressive on a resume" which is scaring me and making me feel like I'm wasting my time. I just feel like I have no idea how to prepare for my eventual career and by the time I get there it will be too late and I won't know what I need.

Tldr: everyone says "if you learn c++ you'll always have a job" is something similar true for python? Does Python have strong footing in the software industry?

Top answer
1 of 5
242
To become a strong programmer, you need to reach the point where the precise choice of programming language no longer really matters. That is, you're proficient enough that you can easily pick up new languages to a reasonable degree over the course of a few days, and transfer the bulk of your existing knowledge while doing so. To put it another way, the strongest and the most employable programmers are ones who are very skilled at problem-solving and rapidly absorbing new material. It turns out people with both skills tend to have little issues solving problems using arbitrary languages -- the language is simply a vessel for expressing the (usually more complex) underlying solution. (Note that problem solving and ability-to-learn aren't inherent traits, and are both skills can be trained + grow with experience). Specifically, it turns out that programming languages will often fall into different families or "paradigms", and if you know a language in one paradigm, it's relatively easy to pick up a different language in the same paradigm. For example, Python is a mixture of the procedural, object-oriented, and some functional paradigms, and C++ is arguably the same (perhaps with a different mixture?). So, if you know one, it wouldn't be tremendously difficult to learn the other, in theory. Of course, there are non-trivial differences between the two languages that might make transitioning difficult (ie pointers in C++), but in the end, the way you approach and solve in both languages is roughly the same, so the bulk of your knowledge will transfer. In contrast, picking up a language that falls squarely into a different paradigm (for example, Haskell is a pure functional programming language) would be relatively difficult. (So consequently, that means strong programmers focus on learning new paradigms, not new languages! Each paradigm offers a different way of thinking about and approaching problems, and the more problem-solving strategies you know, the better.) However, none of this really answers your question -- what should you do? You should pick whichever language you have the most fun working with, and focus on that for the time being. Use that language to solve increasingly tricky problems/write complex programs, and hone your problem-solving skills. When you want to start branching out, or you start feeling the limitations of your language, learn a new one. You should generally wait until you've acquired a strong foundation in one language (ie an interesting portfolio of projects) before branching out, but there's no hard-and-fast rule, really. While learning a language, you might decide to use different frameworks and libraries to help you solve your problems. Pick whichever framework or library looks reasonable at the time -- you'll have to read tutorials to learn how to use them, which will let you hone your learning and absorption skills. While doing so, you might find out that while certain libraries or frameworks are pretty useful, others are less so -- either they don't quite fit your problem, or they were poorly designed, or have poor documentation, etc... If you accidentally used something that was a poor fit, that's fine -- you've still practiced learning something new, and hopefully now have a better intuition on how to select useful libraries, on what constitutes "bad design", or on how to navigate confusing documentation. Basically, even if you use a library or framework only once in your lifetime, you'll always gain something by using it. Everyone I've ever talked to has told me "stay with c++, it's the best, it's the fastest during runtime" which doesn't actually explain anything to me. This is a naive opinion which doesn't take into account that all programming languages have different strengths and weaknesses. There is no universal "best" language. For example, C++ might have a relatively fast runtime (though C is comparable, and new languages like D and Rust are trying to catch up to C++), but is arguably a poor choice when you want to rapidly prototype something -- Python would be a better choice, in that case. If you want to do web development, either frontend or backend, C++ would also be a poor choice. If you want to do embedded programming, game development, or write anything where speed is paramount, C or C++ would be strong choices. And of course, there are scenarios where both Python and C++ shouldn't be your first choice -- for example, if I want to write an Android app, my first choice would be to consider Java. Similarly, if I want to write a frontend webapp, Javascript is probably the best bet. More broadly, I would personally automatically discount the opinion of anybody who claims some language is "the best" or "the worst" without qualification, especially if that language appears to be popular/widely used. This is usually a sign of immaturity -- it hints at a certain lack of awareness of the broader context of how programming languages are used and evolve. For example, one of my favorite programming languages is Python, but I would never claim it's perfect. Quite the opposite, in fact -- I could probably spend quite some time just ranting about all the things I dislike about Python because I use it so much. So if I don't yet know exactly what type of software I want to write, should I learn Python because of its rapid development time or should I continue to try to master c++ because it's the "proper" way to do things? There is no "proper" way of doing things. Depending on who you talk to, C++ is the best starting language, or Python is, or Java is, or Scratch is, or JavaScript is, etc... Or perhaps it depends on your age, your background, your intended goals, etc... The only common consensus that everybody has is whatever language you pick, you should be actively using it to build programs + that practice is paramount. Again, pick the language that you personally find most interesting. It's not like you can't come back and learn the other language later. Don't fall into the paradox of choice -- picking one language doesn't forevermore "bind" you to that choice. There'll be time enough in your career to explore all the languages you want. also as a follow up question which frameworks tend to dominate the industry within each language? This changes from year to year. Try googling "X ecosystem overview", "X popular libraries" or "X popular frameworks", "X best practices", etc. where "X" is the programming language you're using, to get a sense of what's currently popular. Again, it's more important to train your ability to learn how to use new frameworks then it is to learn how to use any one specific framework. Something popular today may no longer be popular tomorrow. I've said this several times in my post, but it's far more important to train your meta-skills -- your ability to learn and adapt -- rather then train yourself to memorize specific things.
2 of 5
68
Depends what your ideal career is: if you're interested in AI, data science or web programming, Python's a better bet. If you prefer things like game development or low-level code, C++ might suit you better, since it's a lot more popular for these purposes. In terms of job postings, on Indeed, Python is more popular . Obviously that doesn't represent all of the industry, but it's quite interesting to see that Python's taking the lead. The relative growth graph is also pretty interesting, since it shows that C++ job postings have been in decline constantly since mid-2012, whereas Python jobs are growing more and more. Anyone who tries to tell you that 'Python isn't used in the industry' or 'Python is a beginner's language only' is almost certainly wrong - although C++ has been around longer, Python's become widely adopted. Some major companies that use Python in their stack include Reddit, Dropbox, Instagram, Google, and more. Also, you'll probably find that it's a bit easier to learn Python and improve your skills with it, and it should allow you to become a better programmer overall and transition to other languages more easily if you need to.
🌐
Reddit
reddit.com › r/learnpython › python progression path - from apprentice to master
r/learnpython on Reddit: Python progression path - From Apprentice to Master
March 5, 2019 -

I've been learning Python for a year now. As a front end developer moving to the back end, this language has been the most influential in my transition. I more or less fell in love with Python.

What I would like to know is your answer to a kind of question I haven't quite seen in other forums. I'm not really a beginner anymore, sometime I feel like I know nothing but in reality I know a good amount, just not enough. I don't want to know how to quickly learn Python. What Id like is to know your opinion about, this:

What are the steps you would recommend to a Python developer, from apprenticeship to master, in order that one keeps improving, becoming a better and better Python coder, one step at a time?

Suggestions I'd like to see:

  • What topics do you think are important for intermediate and advanced study

  • What books would you recommend and are there any particular sections to give extra attention to

  • Websites you find beneficial for keeping up to date and continually learning

  • Courses paid or free that are not meant for beginners

  • Project ideas meant for intermediate or advanced developers(what would you work on?)

  • Finally for any Python Masters out there, could please share what you would consider is good road-map to follow from beginner to master, Either what you did, or what you now think would have been the best path.

I really care about knowing your opinion on what exactly one should pay attention to, at various stages, in order to keep progressing. I like Python I want to Master it, I also know no two paths will be the same, but I still would like to know what others have done to accomplish this.

Thanks in advance! I know this was a lot to read.

🌐
Reddit
reddit.com › r/learnpython › my python learning journey for data and financial analytics (learning path/module) that has helped me achieve mastery over python
r/learnpython on Reddit: My Python learning journey for data and financial analytics (learning path/module) that has helped me achieve mastery over Python
November 10, 2024 -

Stepwise Python Learning Tutorial. Specifically oriented towards a financial/data analyst/accounting profession and a more visual learner.

Our Goal:

Learn Python and programming basics, Numpy, Pandas (data manipulation), various forms of data analysis, Plotly Express (visualisation), work automation and web scraping

  1. Downloading Anaconda from this website:

https://www.anaconda.com/download

2. Downloading VS Code from this:

https://code.visualstudio.com/download

3. Watching this video and learning how to set up a Python Virtual Environment.

This video might feel a bit daunting, but it's important to learn to be able to start a virtual environment before starting any Python Course or other videos (I think). Video link:

https://youtu.be/28eLP22SMTA?si=O0bG3NU4JDu8tLcL

4. Watching the updated Python Basics Tutorial from Bro Code. Up to 9 hour 20 minute mark. All of the games and exercises he gives SHOULD be practised by oneself individually before seeing the solution provided by him. This is the most clean python tutorial I could find searching through Udemy, Coursera and YouTube.

https://youtu.be/ix9cRaBkVe0?si=Pbz7sgWHBQPQYH4p

Watching and practicing this till 9 hour 20 will teach us the very basic concepts of Python, but will not be enough for our purpose of data analytics and data manipulation.

ONLY if there is any confusion remaining regarding object oriented programming even after watching this, then this below playlist from Corey Schafer:

https://youtu.be/ZDa-Z5JzLYM?si=rgFBi3MbUcfJtjiA

5. Next, we will enter the nitty gritty details and packages regarding using Python as a financial and business analyst. We will follow this course from IBM. We can earn certification too if we want to here, but that's optional and not necessary.

Learn ONLY Module 4 and Module 5 from this course, previous modules have been better explained by the mentioned videos.

https://cognitiveclass.ai/courses/python-for-data-science

Learning goal: NumPy and Pandas

If you feel that these 2 modules were not enough to make you learn Pandas and ONLY if you feel that, then, this Playlist by Alex the Analyst should suffice:

https://www.youtube.com/watch?v=dUpyC40cF6Q&list=PLUaB-1hjhk8GZOuylZqLz-Qt9RIdZZMBE

6. Next, a more theory based learning, which we already have some ideas about, so, this won't be too difficult. Basically, we will learn some of the core elements we use for data analytics through Python.

https://cognitiveclass.ai/courses/data-analysis-python

All the modules are required. Certification is also possible.

To test your skills up to the 6 components we have learnt, take the free tasks that's required to be submitted for receiving certification in data analytics in FreeCodeCamp.

https://www.freecodecamp.org/learn/data-analysis-with-python/

This is a necessary step. Should not be ignored.

7. Congratulations, you have learnt the very basics on performing data analytics using python. But now you want to showcase your analytics skill, because a picture is better than a thousand words. So, we will learn that, we will learn Plotly Express. Also, Matplotlib and Seaborn if you want to be full proof in all situations.

BUT, you haven't still developed one of the key aspects that's necessary for learning. That is, reading documentation and solving issues based on the circumstances you are given and the library you have to work with without any tutorial explicitly driving you.

So, with these two goals in mind, we will use the documentation of Plotly Express, which is extremely clearly documented and nicely written.

Getting a good visual using Plotly Express is pretty easy unlike Matplotlib. So, will start with that:

https://plotly.com/python/plotly-express/

Go to this link. In this link, some of the basic visualization techniques have been listed like this:

-Basics: scatter, line, area, bar, funnel, timeline

-Part-of-Whole: pie, sunburst, treemap, icicle, funnel_area

-1D Distributions: histogram, box, violin, strip, ecdf

.......continued

Click each of the links and learn how to create each of the them on your own pace and challenge yourself by building/using any datasets you already have along with the default dataset example Plotly already gives you.

If you feel like learning more about Plotly (Plotly Express's boss), this will help you out:

https://www.youtube.com/watch?v=GGL6U0k8WYA&t=241s

Now, while Plotly (and its truncated version Plotly Express and the above) is almost the most complete package there is for data visualization in Python, most courses and other users are more familiar with two very different libraries. Matplotlib and Seaborn (which uses Matplotlib as the base).

So, you might wanna learn this just in case. It's going to be more complicated as Matplotlib is unpythonic and is actually more close to MATLAB's language structure. But, oh well. What can you do.

https://cognitiveclass.ai/courses/data-visualization-python

Follow all of the modules in the above course and for a clean view of Seaborn, follow the below course:

https://www.youtube.com/watch?v=6GUZXDef2U0

This should be enough.

8. We are almost there! We just need fill in some of the gaps we may or may not have. So, we might need to do some scraping (by now, we should be familiar with "requests" library) and might need some dedicated help regarding this. So, we will learn beautifulsoup and requests in a little more details. For this, this video:

https://www.youtube.com/watch?v=XVv6mJpFOb0

If we are gonna need Machine Learning and related knowledge for python related stuff, the below course should work as a starting point:

https://cognitiveclass.ai/courses/machine-learning-with-python

If you are going to be very financial and other analysis oriented individual, some of the playlists by Matthew William Roesener, CFA on Monte Carlo Simulation, building optimal portfolio using python may be helpful, but by now, you already should have enough understanding of Python to be able to do these things on your own.

https://www.youtube.com/@matthewroesener/playlists

If you want to automate everyday tasks, and want to get ideas on how to do that, you can watch the below 2 videos

https://www.youtube.com/watch?v=PXMJ6FS7llk

https://www.youtube.com/watch?v=s8XjEuplx_U

Also, whatever process you have to do regularly and consumes a lot of time, there is a good chance you can automate that on your own if you try.

That's some of the edge cases one might come up in their workplaces that I could think of. You can now perform your own searching and utilise your learning journey on your own.

Keep on creating projects, use it

Congratulations! You have now filled almost all of the angle you might need to use python as a daily driver for your data analysis journey.

Now, let's talk about some of the reaching goals, like goals you wouldn't likely need for Python or other stuff, but may just be nice to have.

(i) Learning SQL. SQL is incredibly helpful, incredibly. So, it might just be worth your time.

https://youtu.be/ztHopE5Wnpc?si=GTS2T8VSjF6r3y1v

The above video will give you a conceptual framework about SQL.

And the below video will give you a lesson on working on MS Sql Server:

https://www.youtube.com/watch?v=LGTbdjoEBVM

Database Star's below playlist about database design will give you an idea about how to build/structure/work with different types of database:

https://www.youtube.com/watch?v=-C2olg3SfvU&list=PLZDOU071E4v6epq3GS0IqZicZc3xwwBN_

Also, his database setup related playlist in docker was incredibly helpful to me. Given below:

https://www.youtube.com/watch?v=OTglm9fVCL4&list=PLZDOU071E4v7UbgZMsnn5SZvk1GIAuLcX

(ii) Learning PowerBI/Tableau and some of the might also be incredibly valuable for your career.

For this, this playlist especially about some of the Microsoft Power Tools might be helpful to you:

https://www.youtube.com/watch?v=ja68xMpabQA&list=PLrRPvpgDmw0lAIQ6DPvSe_hfAraNhTvS4

Given that you have already learnt a programming language, it's not going to be too difficult for you to navigate through Power BI o your own, reading documentations an stuff.

I actually haven't used Tableau but I assume it's not going to be too different from Power BI.

(iii) Wanna go absolutely batshit crazy and maybe even develop your own programs just for the fun of it (maybe) for others and yourself. Learn Django (part of Python)

I am actually undergoing this right now. I don't know why I am learning this, but I can't stop somehow, so, yeah. I am following through this tutorial:

https://www.youtube.com/watch?v=o0XbHvKxw7Y&t=32609s

Note: I mostly still just use Excel in my job, so that's that. Also, the wiki page in this subreddit has been unbelievably helpful for me, with all of its projects, resources and pinpoint details. I just shared my journey with you all.

🌐
Reddit
reddit.com › r › learnprogramming › comments › 900x8b › ive_mastered_beginner_python_now_what
r/learnprogramming - I’ve mastered “beginner” Python, now what?
July 19, 2018 -

I’ve seen this question come up a lot so this is my 2 cents on it.

I think what most people mean by beginner programming (let me know if I’m wrong) is that they’ve learned the basic syntax.

There are a bunch things you can do after this, but really it’s up to you. So here are the suggestions:

1.) Learn more advanced topics - Multithreading, Sockets, Generics. Make a chat room to show off in your class

2.) Collaborate with a friend on a project - In the real world you usually have to work with a group. Some of my friends are working on a battleship game together

3.) Learn how to use libraries - Really useful so you don’t have to write a bunch of code yourself. Also let you do thinks you didn’t think were possible in Python. Some popular ones off the top of my head are tensorflow, numpy, pygame

Hope y’all found this post helpful

🌐
Reddit
reddit.com › r/learnpython › where to start learning python?
r/learnpython on Reddit: Where to start learning Python?
August 28, 2020 -

Hi. I am a complete newbie to this field. I have zero programing experience. But I want to learn Python. Is Udemy's Python: zero to mastery course a good place to start. Or please recommend where and how to start learning Python.

Top answer
1 of 52
183
You'll get a million different answers - people will suggest what they've used, and what works for different people is always different. Ultimately, any "intro to python" type course will be fine. The "Zero to Mastery" Udemy series looks good, but understand that you won't get anywhere near advanced within a month or two. It takes months/years to get to intermediate, and years beyond that to become an "advanced". With that in mind, go into it without a sense of urgency and take your time to learn and understand concepts. It doesn't matter if you don't understand things the first, second, or even fifth time you go over them. That's totally normal - programming is difficult. What matters are two things - consistency, and dedication. 30 minutes a day for one year will take you a lot closer to employ-ability than 6 hours every day for 2 months. Don't burn out. Take things at your own pace. I'll plug the book that I made my first real breakthrough learning to code with - "Python for Everybody". The author breaks things down in a very easy to understand and enjoyable manner. Here is a link to the free PDF - spend a few hours going over it and see if you enjoy the learning style. If not, another highly recommended resource is Automate the Boring Stuff with Python - If you scroll down on the page you'll find that the author has links to a free web-based version of all the chapters in the book for free. Another user has recommended Corey Schafer’s YouTube tutorials - another excellent, free resource. Any one of these three is sufficient to start learning.
2 of 52
22
I would start with Computer Science 101: Master the Theory Behind Programming first. The course is not long, and will help you better understand the python concepts. But also, yes, the 2020 Complete Python Bootcamp: From Zero to Hero in Python is a good course to start with. Edit: spelling
🌐
Reddit
reddit.com › r/python › what is considered mastery, good, beginner level of python?
What is considered Mastery, Good, Beginner level of python? : r/Python
October 8, 2020 - Don't actually enroll in any of those on you're own, they're priced for businesses sending employees, not private individuals learning on their own. Mastery comes from actively using the language over a period of time, not just knowing a bunch of individual topics.
🌐
Reddit
reddit.com › r/learnpython › python mastery
Python Mastery : r/learnpython
February 23, 2023 - 709K subscribers in the learnpython community. Subreddit for posting questions and asking for general advice about your python code.
🌐
Reddit
reddit.com › r/pythonhelp › advice needed. how do i learn python?
r/pythonhelp on Reddit: Advice needed. How do I learn Python?
September 21, 2025 -

So here's the thing, people - I wanna learn python mostly for data analytics, as I am an economics student. I'm a quick learner (and fine at logical thinking if that matters?) I don't wanna be wasting time. I can practice regularly.

I just need proper guidance on how I should do it. I can't seem to find a proper starting point.

Any advice? Or book recommendations? Any help would be appreciated. Thank you!

🌐
Reddit
reddit.com › r/learnpython › how to master python?
r/learnpython on Reddit: How to master python?
June 29, 2023 -

Hey guys, I really want to master Python. I have a basic understanding, but I sometimes struggle with implementing concepts properly. Could you help me by providing some online resources and tips for Python specifically required for data science?