Everything You Need To Know To Become a Python Master


Image credits: www.dreamstime.com

In this blog we would all be doing is discussing the topics and skills that you need to learn to become a master at the Python programming language. Now I've broken these skills up into three main categories. Those are

1.Basic

2.Intermediate

3.Advanced/ master level.

1.Basic

This is really focusing on just fundamental programming concepts and really understanding like the basic, basic building blocks of programming. So the core syntax, the way a program actually reads,  the way the different lines of codes are going to be executed, conditions, variables, all that kind of stuff. So you want to understand how variables work. So, you know, X equals one, Y equals two X equals Y what does X equal? You know, just the basics like that and understanding why we even use variables in programming then probably moving forward into conditions. So Boolean conditions, you know, how do we compare two different variables together? How do we check if the user typed something in and it's equal to something else, chaining conditionals together. So, okay. How can we make a chain conditional that has more than one condition in it? How do we evaluate, you know, this condition and that condition at the same time. 

Next that's going to be operators that you want to learn,how do we add two variables subtract two variables. What is the modulates operator do into your division? Just these basic tools that you're going to need to be using. As soon as you get out of this basic level, then after that, it's probably going to go to control flow. So it's things like if else, else, if you're going to want to master those, then just learning about loops and Iterable. So for loops, while loops, how do we loop through a list? How do we loop through a dictionary that leads me nicely into what else I would recommend learning, which is basic data structures in Python. So understanding lists, understanding, sets, understanding dictionaries, what about strings booleans ins floats. That's all stuff that you really need to master after that. And you've learned kind of the core basic syntax and language features of Python. 

Then you're probably going to move into functions. Functions are really important, a huge part of Python, and really will teach you a lot if you can understand how those work. Then after you've done that, try to learn about some of the common methods in Python. So for example, if you have a string, how do you turn that string into all uppercase or all lowercase? How do you add a new element to a list or add a new element to a set, just kind of these basics, operations and methods, which are really easy to learn and find it, but that you kinda need to know before moving much,much further. And then finally I would recommend having a basic knowledge of IO operations.

After learning all these I would strongly suggest you to practice these things in any one of the competitive programming website.(HackerRank,LeetCode,HackerEarth..etc)

2.Intermediate

The first thing that I'm going to focus on here and intermediate skills is object oriented, programming, understanding classes and understanding objects. So this goes a really long way, and this is something that you're going to want to understand, especially if you're using other languages other than Python, uh, but super important. It's used pretty much everywhere. And if you only get one thing from this intermediate section, understand that you have to have a really good foundation and object oriented programming to really understand anything above this level. 

And then after you've learned that I would recommend you move into data structures. So once you have a solid foundation of object oriented, you want to learn about data structures  understanding the ques, you know, hash maps, the stacks priority cues, whatever it may be, you just need to understand those topics cause they will come up and understanding the efficiency and time complexity in big O notation is actually really important when it comes to becoming a good programmer.If you see them next, I would recommend you learn about Lambda functions. So these are anonymous functions. They're actually super useful.

3.Advanced

I want to be clear here that a lot of the topics in this section you don't really need to know to be good at Python, right? To consider yourself a Python developer to go work as a software engineer, you don't need to know most of what I'm going to describe here. if you know the basic and intermediate stuff, you can learn this when you need to learn it kind of thing. So yeah, just don't be discouraged if you don't already know these things.The first thing I have is decorators. if you have like a class method, a static method and UCL at static method at class method at login required, those are examples of decorators, things that decorate a function or a method. I think you can decorate a class as well. Generators are a way to kind of utilize memory efficiently in Python. Let's say you have a really long collection or you're generating a collection rather than just generating the entire thing. You can generate one item at a time. If you only need access to one item from that collection at a time, or maybe two items or three items or something like that, you can use a generator to do that. 

Next we have medic classes. These are too advanced, even really give a basic description, but they are pretty much how Python classes actually operate and allow you to do some really advanced things with classes, hook into some things that you can't usually hook into unless you know about them. And then next after you learn about decorators, generators, context, pantries, and yeah, medic classes, I would recommend learning about concurrency and parallelism. So say you have a CPU core that has four processing cores on it. So for actual CPU, how can you use Python to utilize all of those cores? Well, that's when you're going to learn about something called a global interpreter lock, and then you can talk about multiprocessing and multithreading so multithreading is essentially how do we let one part of our program kind of wait while the other program is doing something and how do we not block pieces of code, when they don't need to be blocked. So that's a really vague definition of it, but that should hopefully give you a little bit of an idea.

It's pretty much revolving around speed within the Python language, then I would get into testing. So once you've learned all of those, I would learn about unit testing and how you can actually do test driven development in Python or in whatever programming language, just understanding testing pipelines. And all of that is very important. Then I would learn about how you actually build and manipulate packages. So packages are different than modules, but I throw this in the advanced section because if you're writing enough code that you could fill a module, a package you're probably advanced.

Resources that I recommend to learn Python for free:

1.Telusko Youtube Channel

2.Tech with Tim Youtube Channel

3.corey schafer Youtube Channel

I think you should know if you're working towards becoming a master in Python. So if this Blog helped you out.

 

Stay Tuned!

           ðŸ˜Ž HAPPY CODING😎 


Post a Comment

0 Comments