DEV Community

Cover image for Python for everyone : Mastering Python The Right Way
Owino
Owino

Posted on

Python for everyone : Mastering Python The Right Way

Python is a high-level programming language that is easy for everyone to learn due to its simple syntax.
Beginners will take a shorter period of time to be up and running!

It is widely used in web and APIs development, cryptography, games development, scripting (automation) tasks, artificial intelligence, data science, web scrapping (crawling) and many other areas.

In this blog post, I will explore the areas you need to cover all the way from beginner, intermediate and into advanced level. Thereafter, I will also highlight various specialization areas that you may need to look at depending on your area of interest.
I will also highlight some of the popular free Python learning resources.

The best practice on how to master Python programming just like any other programming language is to ensure you execute one or more project after each level before proceeding onto next levels. Think of any idea that you can implement using the concepts you have covered after during the completed level and make it you project.

1. Beginner Level

At this level ensure you cover and understand the following:

  • Application areas of Python
  • Downloading and Installing Python
  • User interfaces or IDEs like the ones listed below. Pick and use one of your desired IDEs while working with Python:
  • Program structure
  • Interactive shell
  • Executables or script files
  • Variables
  • Data types
  • Conditions
  • Chained conditions
  • Control flow
  • Loops and Iteration
  • Data structures ( Lists, Tuples, Sets and Dictionaries)
  • Functions
  • Common Methods
  • File input/output

This gives you a good base but before you proceed onto the next level, you have a milestone checkpoint (a project!).

Beginner Level Project : Think of a project or task you can accomplish using the concepts you have covered so far.

2. Intermediate Level

Here you need to explore the following key aspects of Python programming language:

  • Object Oriented Programming (classes and object, Encapsulation, Inheritance and Polymorphism)
  • Lambda functions
  • *args AND **kwargs in function definitions
  • pip (package installer for Python)
  • Virtual programming environments
  • Modules

Intermediate Level Project : Think of a project or task you can accomplish using the concepts you have covered so far including the beginner level concepts.

3. Advanced Level

Concepts you need to cover and understand:

Advanced Level Project : Think of a project or task you can accomplish using the concepts you have covered so far all the way from beginner to the advanced.

4. Specialization Areas

After going through basic, intermediate and into advanced levels, you may decide to choose one or more of the areas to go deeper into the key application areas of Python programming language.

4.1 Web and APIs development

In web development explore the following Python web frameworks:

4.2 Cryptography

We have several libraries in Python that provides cryptographic recipes and primitives to python developers:

4.3 Games development

For games development enthusiasts, Python provides the following libraries / frameworks:

4.4 Scripting (automation) tasks

In case in systems administration, you will need to create Python code in files, make the files executable.
This helps to automate routine tasks.

4.5 Artificial Intelligence(AI)

Let's look at the libraries / frameworks that Python offers for AI areas: Machine Learning (ML), Compute Vision, Natural Language Processing (NLP), Neural Networks, Robotics, Fuzzy logic and Expert systems.

4.5.1 Machine Learning

4.5.2 Computer Vision

4.5.3 Natural Language Processing

4.5.4 Neural Networks

4.5.5 Robotics

4.5.6 Fuzzy Logic

4.5.6 Expert Systems

4.6 Data science

4.7 Web scrapping (crawling)
As web is text-based platform, Python has libraries for working with JSON, HTML, XML and other formats.

4.8 GUI Based desktop applications

In order to develop desktop GUI applications, Python provides the following capabilities:

5 Learning Resources

While learning, choose a particular resource and stick to it. Avoid hopping from one learning resource to the the other. Below I am sharing some of the common Python learning resources.

5.1 Websites

5.2 Youtube Channels

5.3 Books

Beginners

Intermediate

5.4 Coding Practice

For code challenges and practices you can check out the following websites:

6. Python Project Ideas

You can check out below list of project ideas that you can try to using Python programming language.

  • Quiz app
  • Calculator
  • Web automation
  • Classic snake game
  • Web crawler
  • Music Player
  • Instagram Bot
  • Twitter Bot
  • Reddit Bot
  • Alarm Clock
  • Image downloader
  • Face recognition
  • URL shortener
  • File explorer
  • Notification system
  • File rename tool
  • Password generator

7. Free platforms to host your test applications

Incase you need to host your trial applications, check the below free platforms:

Conclusion

Key takeaways:

  • Practice, practice and practice! code everyday.
  • Choose a study resource that suits you and stick to it.
  • Do projects before moving to the next level.
  • Document your learning journey in a blog since you learn more when you share.
  • Use code version control like Git/Github, bitbucket etc for all your code that you write.
  • Never stop learning.

Feel free to leave comments. Thank you!

Oh, I almost forgot, please checkout an instagram-video-and-photos-downloader I created. It is one of my projects.

Top comments (1)

Collapse
 
betpido profile image
betpido

Great post.
For the intermediate level projects: I would recommend the learner focus on real business problems as compared to hobbies. For example, a project such as 'getting the nouns in input, using python' could be replaced by, ' a python project to keep track of mispelled words when learning a foreign language'