Python for everyone | Mastering Python the Right Way.
Tags: python, masteringpythontherightway, pythonforbeginners, pythonforeveryone
Published: 2022-03-03 10:29:30


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7kxca1qzip1piwz1e64t.png)
One of the things I appreciate most about human beings is that we have different ways of doing things. This remains the case when it comes to learning python. There is no one way to learn correctly. Every person has the freedom to learn in the manner that suits them most. The most important thing is that at the end of it all, we can achieve the expected results successfully and we can perform the expected tasks with ease. However, you choose to learn, understanding the basics comes in handy. 

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rdm49imhhvjyhj1fnpw2.png)

**1. Understanding Python Language**
When you understand how python language works, you are learning the right way.
We can all agree that some basic habits and tricks can assist in mastering python the right way, especially for a beginner. I am going to share below how the following tips have been assisting me in my journey to master python development. As a python beginner, focus on mastering the key concepts. Some of the most fundamental concepts at **beginner level** in python include 

1. Control structures, 
2. Functions,
3. data structures and algorithms.
4. Data types
5. Strings
6. Control flow statements
7. Classes
8. Exceptions
9. Conditions and variables
10. File input and output

Click on the link below that elaborates more on beginner concepts in python.
https://www.educba.com/python-programming-beginners-tutorial/

I have discussed more about them in my previous article, link attached below. 
https://dev.to/nancykibunga/introduction-to-data-structures-and-algorithms-with-modern-python-4hhe
You also need to understand python operators, parameters and arguments. At an **advanced level**, you will learn more about 
1.	Objects in Python
2.	Comprehension 
3.	Extended Keyword Arguments 
4.	Closures and Decorators
5.	Generators and Iterators Protocol
6.	Context Managers
7.	Static and class methods
8.	Inheritance and Encapsulation
9.	Operator Overloading
10.	Python Packages and Program layout
Attached is a link to an article that will help you grasp advanced python concepts.
https://towardsdatascience.com/10-topics-python-intermediate-programmer-should-know-3c865e8533d6

**2. Practice makes perfect.**
This goes without saying. The more you exercise something, the more you become proficient. The more time you put into learning something, the better you become at it. The more hours you spend in learning, the faster it is to understand the concepts. Once you have learnt about the fundamentals of python programming, practice using them in simple projects. Below I have attached links to sites that provide easy projects for beginners. However, start with what you are comfortable doing and challenge yourself upwards.
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjxo7qdqan2AhVnyoUKHdURC6UQFnoECAMQAw&url=https%3A%2F%2Fwww.freecodecamp.org%2Fnews%2Fpython-projects-for-beginners%2F&usg=AOvVaw0Lb0FgyUqPezT5fzzeeEtd

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjxo7qdqan2AhVnyoUKHdURC6UQtwJ6BAgFEAM&url=https%3A%2F%2Fwww.upgrad.com%2Fblog%2Fpython-projects-ideas-topics-beginners%2F&usg=AOvVaw2aYMO6bi2kno5xD-8UYw09

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwjxo7qdqan2AhVnyoUKHdURC6UQFnoECDUQAQ&url=https%3A%2F%2Fwww.analyticsvidhya.com%2Fblog%2F2021%2F07%2F3-interesting-python-projects-with-code-for-beginners%2F&usg=AOvVaw3jkZLUdpEj_sJhzuWbR8yK

**3. Research, Ask Questions**
 As you engage yourself in learning, do not forget to **take notes**. Yes, this might seem pointless but it will help you in retaining content and you can easily refer when you need to refresh on a concept. Note down new concepts, make an effort to learn them later. Note down your resources and projects you need to revisit.
Additionally, make sure you **research intensively**. Make google your friend. Watch tutorials, attend online courses and bootcamps. There are several online platforms that offer the basic skills for free and you will easily understand a concept. For a beginner, I would advise one to learn the basic concepts first. Do not be in a hurry to move on. Some of the online python resources include: 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xj0hue8t25t1hzpdk33k.png)
•	Programiz.com 
•	Github.com
•	Datacamp.com
•	geeksforgeeks.org
•	tutorialspoint.com
•	pynative.com
•	realpython.com

Always be free **ask questions**. This also comes in hand with familiarizing yourself with platforms that offer knowledge in python and associating yourself with people who are familiar with python language. Nowadays, you do not need to know someone on a personal level. You only need to be thirsty enough for knowledge and with a little research, you’ll find lots of python developers online. If possible, you can also attend physical mentor ships and boot camps. It is comforting when you know that you are not facing a challenge alone. Find and join a community. The more, the merrier. Twitter provides a great opportunity to interact and learn from python developers, among other online communities and applications.
When you learn a concept, the best way you can **test your understanding** is by creating a simple project. This way, you will easily tell which concept needs more practice and when it is time to move on to a different concept. 

**4. Keep Track**
To keep **track of your progress**, you can journal. You may decide to post your achievements on social media consistently, others may decide to write it down, where as others may want to share their achievements with their friends. All the methods are acceptable, as long as you are tracking your progress. 
During your learning progress, there definitely will be challenges. 
**Tackle challenges positively**. You may write a code which will not run since it has bugs. This is an opportunity for you to challenge yourself. Consider this as an opportunity to test your understanding of each concept as you go through each line of code. When you find the bug, you will definitely be a hero. The chances of having the same bug reoccur will be minimal and your understanding of the context will have up scaled.
By the time I consider myself an expert python developer, I will have created from scratch a project of my own. I have several targets in mind. You can do this too. Set a goal. Have a personal project. This will motivate you to keep working. When you can finally use your own application to accomplish something you have been dying to do, you will have become an expert. 

**5. Career Paths**
Once you have mastered the key concepts in python, you can easily specialize in the **framework** of your choice. With different career paths, you will use different frameworks. It can be a full stack framework, microframework or an asynchronous framework. Below is a list of python frameworks:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oj88dy48imws6ttodisq.png)
 
•	Django
•	CherryPy
•	Flask
•	Bottle
•	Dash
•	FastApi, etc.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ldjy1nsz1oefuki1cjve.jpg)

Follow this link to learn more about python frameworks
 https://hackr.io/blog/python-frameworks

Find some of the different python career paths listed below. I have attached links where you can learn more about each to enhance your decision making:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/38erj6pskycewyl9eeus.png)
 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9c16y2066nybpbbiszqe.png)
- **Game Development**
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwiJwOaNr6n2AhXq7rsIHQ-UARcQFnoECAUQAQ&url=https%3A%2F%2Fwww.codewizardshq.com%2Fpython-games%2F&usg=AOvVaw37X4LnJxCrC24T5rwFZrOe

- **Data Science**
 https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwia58vNrqn2AhXClf0HHeavD2AQFnoECAgQAw&url=https%3A%2F%2Ftowardsdatascience.com%2F5-free-resources-to-learn-python-5faa6bd051f4&usg=AOvVaw17YR-R0_IVpiMqXXXGiJLx


- **Web Scraping**
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwi_ps2rr6n2AhVpiv0HHT5NA_sQFnoECBUQAQ&url=https%3A%2F%2Fwww.analyticsvidhya.com%2Fblog%2F2020%2F04%2F5-popular-python-libraries-web-scraping%2F&usg=AOvVaw1D_WNf-KJiPwBpx0kVWynP

- **Security and Cryptography**
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjG4fOEyan2AhUW_7sIHdYnBW0QFnoECEUQAQ&url=https%3A%2F%2Fdevtut.github.io%2Fpython%2Fsecurity-and-cryptography.html&usg=AOvVaw2QSsN0puxkvFnP-1vs_w1K

- **Machine learning**
https://www.w3schools.com/python/python_ml_getting_started.asp
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0z4ysr8fppudgq9sjxqj.jpg)
**Conclusion**
Learning is self-paced. The above are tips and resources to guide you on your journey in learning python. You take it one step at a time and do not stop till you are a master in python development. All the best!